<?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>198132</bug_id>
          
          <creation_ts>2019-05-22 10:55:50 -0700</creation_ts>
          <short_desc>[Paste] Add support for preferred presentation size when pasting an image</short_desc>
          <delta_ts>2019-05-22 12:13:42 -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>Layout and Rendering</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538273</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-05-22 10:55:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/50886917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538283</commentid>
    <comment_count>1</comment_count>
      <attachid>370425</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-05-22 11:05:36 -0700</bug_when>
    <thetext>Created attachment 370425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538285</commentid>
    <comment_count>2</comment_count>
      <attachid>370425</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-22 11:12:43 -0700</bug_when>
    <thetext>Comment on attachment 370425
Patch

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

r=mews

&gt; Source/WebCore/platform/ios/PasteboardIOS.mm:184
&gt; +Pasteboard::ReaderResult Pasteboard::readPasteboardWebContentDataForType(PasteboardWebContentReader&amp; reader, PasteboardStrategy&amp; strategy, NSString *type, PasteboardItemInfo itemInfo, int itemIndex)

Is there a reason you opted for PasteboardItemInfo over const PasteboardItemInfo&amp; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538298</commentid>
    <comment_count>3</comment_count>
      <attachid>370431</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-05-22 11:48:30 -0700</bug_when>
    <thetext>Created attachment 370431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538309</commentid>
    <comment_count>4</comment_count>
      <attachid>370431</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-22 12:13:41 -0700</bug_when>
    <thetext>Comment on attachment 370431
Patch

Clearing flags on attachment: 370431

Committed r245637: &lt;https://trac.webkit.org/changeset/245637&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538310</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-22 12:13:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370425</attachid>
            <date>2019-05-22 11:05:36 -0700</date>
            <delta_ts>2019-05-22 11:48:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198132-20190522110535.patch</filename>
            <type>text/plain</type>
            <size>19841</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVkOWM2YzVlODk1ZWY2
YWMzNDQ4NzU4YmE2ZGMyMzJiZTgzMmYzYi4uOTdiN2MzODJiOGRkZDQwYjU1ODRjZTFlMWQzYzEy
NDdjZmYxZjU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE5LTA1LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1Bhc3RlXSBBZGQgc3VwcG9y
dCBmb3IgcHJlZmVycmVkIHByZXNlbnRhdGlvbiBzaXplIHdoZW4gcGFzdGluZyBhbiBpbWFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTMyCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDg4NjkxNz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgdGhlIHBhc3RlZCA8aW1nPiB3aWR0aC9oZWln
aHQgYXR0cmlidXRlcyB3aGVuIHRoZSBwcmVmZXJyZWQgcHJlc2VudGF0aW9uIHNpemUgaXMgYXZh
aWxhYmxlLgorCisgICAgICAgICogZWRpdGluZy9XZWJDb250ZW50UmVhZGVyLmg6CisgICAgICAg
ICogZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpjcmVhdGVGcmFnbWVudEZvckltYWdlQXR0YWNobWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb250ZW50UmVhZGVyOjpyZWFkSW1hZ2UpOgorICAgICAgICAqIGVkaXRpbmcvbWFya3Vw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBbmRVUkwpOgor
ICAgICAgICAqIGVkaXRpbmcvbWFya3VwLmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXI6OnJlYWRJ
bWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZvLmg6CisgICAgICAg
IChXZWJDb3JlOjpQYXN0ZWJvYXJkSXRlbUluZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkSXRlbUluZm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1Bhc3RlYm9hcmRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFk
UGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0
ZWJvYXJkOjpyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnJlYWRSZXNwZWN0
aW5nVVRJRmlkZWxpdGllcyk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVi
b2FyZElPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6aW5mb3Jt
YXRpb25Gb3JJdGVtQXRJbmRleCk6CisKIDIwMTktMDUtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3QgY3JlYXRlIGEgc2hhcGUgb2JqZWN0IG91dHNp
ZGUgb2YgdGhlIGxheW91dCBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgwYmY4YTMwYTQxMzhlOGQxYjk5
NzFlNmEyYWM1ZTdlNWZhNjdhNDguLjUyMmZmZGI3MDFjNzNlYzBhMjY4YTQ0NTc4NDdhZTM3NTc4
YTU4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDUtMjIgIFphbGFuIEJ1anRh
cyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbUGFzdGVdIEFkZCBzdXBwb3J0IGZvciBw
cmVmZXJyZWQgcHJlc2VudGF0aW9uIHNpemUgd2hlbiBwYXN0aW5nIGFuIGltYWdlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgxMzIKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzUwODg2OTE3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9u
Lm1tOgorICAgICAgICAoYWRkVG9SZWFkaW5nTGlzdCk6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tOgorICAgICAgICAoLVtXS0FjdGlvblNoZWV0QXNz
aXN0YW50IGRlZmF1bHRBY3Rpb25zRm9yTGlua1NoZWV0Ol0pOgorICAgICAgICAoLVtXS0FjdGlv
blNoZWV0QXNzaXN0YW50IGRlZmF1bHRBY3Rpb25zRm9ySW1hZ2VTaGVldDpdKToKKwogMjAxOS0w
NS0xNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
c2Ugc2FuZGJveCB0byBhbGxvdyBJT0tpdCBwcm9wZXJ0aWVzIG5lZWRlZCBieSBNZXRhbCBhbmQg
TGF1bmNoU2VydmljZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvV2ViQ29u
dGVudFJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9XZWJDb250ZW50UmVhZGVyLmgK
aW5kZXggM2MzMTExMmZiZTQzOTk3YTQ2NDIyMDIwNWZkMTk0MDM0MzdmMjQzNi4uMzBjMDhjZTQz
YzFhYmMwMjI0NzdiMmFlOWIzMzcwZDQxMjUzZjY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9XZWJDb250ZW50UmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9XZWJDb250ZW50UmVhZGVyLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IHJlYWRIVE1MKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgcmVhZFJURkQoU2hh
cmVkQnVmZmVyJikgb3ZlcnJpZGU7CiAgICAgYm9vbCByZWFkUlRGKFNoYXJlZEJ1ZmZlciYpIG92
ZXJyaWRlOwotICAgIGJvb2wgcmVhZEltYWdlKFJlZjxTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFN0
cmluZyYgdHlwZSkgb3ZlcnJpZGU7CisgICAgYm9vbCByZWFkSW1hZ2UoUmVmPFNoYXJlZEJ1ZmZl
cj4mJiwgY29uc3QgU3RyaW5nJiB0eXBlLCBPcHRpb25hbDxGbG9hdFNpemU+IHByZWZlcnJlZFBy
ZXNlbnRhdGlvblNpemUgPSB7IH0pIG92ZXJyaWRlOwogICAgIGJvb2wgcmVhZFVSTChjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBvdmVycmlkZTsKICAgICBib29sIHJlYWREYXRhQnVm
ZmVyKFNoYXJlZEJ1ZmZlciYsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1l
KSBvdmVycmlkZTsKICNlbmRpZgpAQCAtOTgsNyArOTgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
cmVhZEhUTUwoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgYm9vbCByZWFkUlRGRChTaGFy
ZWRCdWZmZXImKSBvdmVycmlkZTsKICAgICBib29sIHJlYWRSVEYoU2hhcmVkQnVmZmVyJikgb3Zl
cnJpZGU7Ci0gICAgYm9vbCByZWFkSW1hZ2UoUmVmPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3Ry
aW5nJikgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIHJlYWRJbWFnZShSZWY8
U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcmLCBPcHRpb25hbDxGbG9hdFNpemU+ID0geyB9
KSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgcmVhZFVSTChjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgcmVh
ZERhdGFCdWZmZXIoU2hhcmVkQnVmZmVyJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbQppbmRleCA4YzMzMWZm
NzMyZTgzMDQ5Y2EzODg3NDg0MWRlM2IyYTRkZGY1ZWQwLi41NjFhMDczMDQ4OTllOTgzMzVkNjEx
NzJhNzYyMjliMjUzM2U4MmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2Nv
Y29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbQpAQCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRp
YyBib29sIHN1cHBvcnRzQ2xpZW50U2lkZUF0dGFjaG1lbnREYXRhKGNvbnN0IEZyYW1lJiBmcmFt
ZSkKIAogI2VuZGlmCiAKLXN0YXRpYyBSZWY8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21l
bnRGb3JJbWFnZUF0dGFjaG1lbnQoRnJhbWUmIGZyYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQsIFJl
ZjxTaGFyZWRCdWZmZXI+JiYgYnVmZmVyLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKQorc3Rh
dGljIFJlZjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbWVudEZvckltYWdlQXR0YWNobWVu
dChGcmFtZSYgZnJhbWUsIERvY3VtZW50JiBkb2N1bWVudCwgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBi
dWZmZXIsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJl
ZmVycmVkU2l6ZSkKIHsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAgIGF1dG8g
YXR0YWNobWVudCA9IEhUTUxBdHRhY2htZW50RWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6YXR0
YWNobWVudFRhZywgZG9jdW1lbnQpOwpAQCAtMjYwLDYgKzI2MCwxMCBAQCBzdGF0aWMgUmVmPERv
Y3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBdHRhY2htZW50KEZyYW1lJiBm
cmFtZSwgRG9jdQogICAgICAgICAgICAgYXV0byBpbWFnZSA9IEhUTUxJbWFnZUVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCk7CiAgICAgICAgICAgICBpbWFnZS0+c2V0QXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnNyY0F0dHIsIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJM
KGRvY3VtZW50LCBCbG9iOjpjcmVhdGUoYnVmZmVyLmdldCgpLCBjb250ZW50VHlwZSkpKTsKICAg
ICAgICAgICAgIGltYWdlLT5zZXRBdHRhY2htZW50RWxlbWVudChXVEZNb3ZlKGF0dGFjaG1lbnQp
KTsKKyAgICAgICAgICAgIGlmIChwcmVmZXJyZWRTaXplKSB7CisgICAgICAgICAgICAgICAgaW1h
Z2UtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp3aWR0aEF0
dHIsIEF0b21pY1N0cmluZzo6bnVtYmVyKHByZWZlcnJlZFNpemUtPndpZHRoKCkpKTsKKyAgICAg
ICAgICAgICAgICBpbWFnZS0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1M
TmFtZXM6OmhlaWdodEF0dHIsIEF0b21pY1N0cmluZzo6bnVtYmVyKHByZWZlcnJlZFNpemUtPmhl
aWdodCgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmcmFnbWVudC0+YXBwZW5kQ2hp
bGQoV1RGTW92ZShpbWFnZSkpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgYXR0YWNo
bWVudC0+dXBkYXRlQXR0cmlidXRlcyhidWZmZXItPnNpemUoKSwgY29udGVudFR5cGUsIGRlZmF1
bHRJbWFnZUF0dGFjaG1lbnROYW1lKTsKQEAgLTY3NiwxNCArNjgwLDE0IEBAIGJvb2wgV2ViQ29u
dGVudFJlYWRlcjo6cmVhZFBsYWluVGV4dChjb25zdCBTdHJpbmcmIHRleHQpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgV2ViQ29udGVudFJlYWRlcjo6cmVhZEltYWdlKFJlZjxTaGFyZWRC
dWZmZXI+JiYgYnVmZmVyLCBjb25zdCBTdHJpbmcmIHR5cGUpCitib29sIFdlYkNvbnRlbnRSZWFk
ZXI6OnJlYWRJbWFnZShSZWY8U2hhcmVkQnVmZmVyPiYmIGJ1ZmZlciwgY29uc3QgU3RyaW5nJiB0
eXBlLCBPcHRpb25hbDxGbG9hdFNpemU+IHByZWZlcnJlZFByZXNlbnRhdGlvblNpemUpCiB7CiAg
ICAgQVNTRVJUKGZyYW1lLmRvY3VtZW50KCkpOwogICAgIGF1dG8mIGRvY3VtZW50ID0gKmZyYW1l
LmRvY3VtZW50KCk7CiAgICAgaWYgKHNob3VsZFJlcGxhY2VSaWNoQ29udGVudFdpdGhBdHRhY2ht
ZW50cygpKQotICAgICAgICBhZGRGcmFnbWVudChjcmVhdGVGcmFnbWVudEZvckltYWdlQXR0YWNo
bWVudChmcmFtZSwgZG9jdW1lbnQsIFdURk1vdmUoYnVmZmVyKSwgdHlwZSkpOworICAgICAgICBh
ZGRGcmFnbWVudChjcmVhdGVGcmFnbWVudEZvckltYWdlQXR0YWNobWVudChmcmFtZSwgZG9jdW1l
bnQsIFdURk1vdmUoYnVmZmVyKSwgdHlwZSwgcHJlZmVycmVkUHJlc2VudGF0aW9uU2l6ZSkpOwog
ICAgIGVsc2UKLSAgICAgICAgYWRkRnJhZ21lbnQoY3JlYXRlRnJhZ21lbnRGb3JJbWFnZUFuZFVS
TChkb2N1bWVudCwgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoZG9jdW1lbnQsIEJsb2I6OmNyZWF0
ZShidWZmZXIuZ2V0KCksIHR5cGUpKSkpOworICAgICAgICBhZGRGcmFnbWVudChjcmVhdGVGcmFn
bWVudEZvckltYWdlQW5kVVJMKGRvY3VtZW50LCBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChkb2N1
bWVudCwgQmxvYjo6Y3JlYXRlKGJ1ZmZlci5nZXQoKSwgdHlwZSkpLCBwcmVmZXJyZWRQcmVzZW50
YXRpb25TaXplKSk7CiAKICAgICByZXR1cm4gZnJhZ21lbnQ7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21h
cmt1cC5jcHAKaW5kZXggMDBjYjRlOThmMzA3MGQ1NGZhZDAzZWQ0MDdmYjE1YTM0OTRkYTg1Yi4u
NmRjYzdlNDkwMDE2OGQ1ZmFjY2U2YmYyNDViZTAzYjU0OTY4OWNhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvbWFya3VwLmNwcApAQCAtMTIyNiwxMCArMTIyNiwxNCBAQCBSZWZQdHI8RG9jdW1lbnRGcmFn
bWVudD4gY3JlYXRlRnJhZ21lbnRGb3JUcmFuc2Zvcm1Ub0ZyYWdtZW50KERvY3VtZW50JiBvdXRw
dXREbwogICAgIHJldHVybiBmcmFnbWVudDsKIH0KIAotUmVmPERvY3VtZW50RnJhZ21lbnQ+IGNy
ZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBbmRVUkwoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJp
bmcmIHVybCkKK1JlZjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbWVudEZvckltYWdlQW5k
VVJMKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB1cmwsIE9wdGlvbmFsPEZsb2F0
U2l6ZT4gcHJlZmVycmVkU2l6ZSkKIHsKICAgICBhdXRvIGltYWdlRWxlbWVudCA9IEhUTUxJbWFn
ZUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgaW1hZ2VFbGVtZW50LT5zZXRBdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6c3JjQXR0ciwgdXJsKTsKKyAgICBp
ZiAocHJlZmVycmVkU2l6ZSkgeworICAgICAgICBpbWFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp3aWR0aEF0dHIsIEF0b21pY1N0cmluZzo6
bnVtYmVyKHByZWZlcnJlZFNpemUtPndpZHRoKCkpKTsKKyAgICAgICAgaW1hZ2VFbGVtZW50LT5z
ZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6aGVpZ2h0QXR0ciwg
QXRvbWljU3RyaW5nOjpudW1iZXIocHJlZmVycmVkU2l6ZS0+aGVpZ2h0KCkpKTsKKyAgICB9CiAK
ICAgICBhdXRvIGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwog
ICAgIGZyYWdtZW50LT5hcHBlbmRDaGlsZChpbWFnZUVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFy
a3VwLmgKaW5kZXggZjIyYTQ2NGY5MDJhYjY0OWZmNGY2NTQwNDlmOGE3MzJiZDgwODUxMi4uNzky
MmE3OGI4MDU1YmFiMmYyM2ZiMThiNTlmYzY4ODcxN2E5ZDBhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21h
cmt1cC5oCkBAIC01OSw3ICs1OSw3IEBAIFdFQkNPUkVfRVhQT1JUIFJlZjxEb2N1bWVudEZyYWdt
ZW50PiBjcmVhdGVGcmFnbWVudEZyb21UZXh0KFJhbmdlJiBjb250ZXh0LCBjb25zCiBXRUJDT1JF
X0VYUE9SVCBSZWY8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKERv
Y3VtZW50JiwgY29uc3QgU3RyaW5nJiBtYXJrdXAsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgUGFy
c2VyQ29udGVudFBvbGljeSA9IEFsbG93U2NyaXB0aW5nQ29udGVudCk7CiBFeGNlcHRpb25PcjxS
ZWY8RG9jdW1lbnRGcmFnbWVudD4+IGNyZWF0ZUZyYWdtZW50Rm9ySW5uZXJPdXRlckhUTUwoRWxl
bWVudCYsIGNvbnN0IFN0cmluZyYgbWFya3VwLCBQYXJzZXJDb250ZW50UG9saWN5KTsKIFJlZlB0
cjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbWVudEZvclRyYW5zZm9ybVRvRnJhZ21lbnQo
RG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VNSU1FVHlwZSk7Ci1SZWY8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGb3JJbWFn
ZUFuZFVSTChEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYpOworUmVmPERvY3VtZW50RnJhZ21lbnQ+
IGNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBbmRVUkwoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmLCBP
cHRpb25hbDxGbG9hdFNpemU+IHByZWZlcnJlZFNpemUpOwogRXhjZXB0aW9uT3I8UmVmPERvY3Vt
ZW50RnJhZ21lbnQ+PiBjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoRWxlbWVudCYsIGNvbnN0IFN0
cmluZyYgbWFya3VwLCBQYXJzZXJDb250ZW50UG9saWN5KTsKIAogYm9vbCBpc1BsYWluVGV4dE1h
cmt1cChOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJv
YXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggNGEyZjM2
NDVjNDAzOWFiZGJlOGI0NjhhNDI4ODNjMGJkNGVkNmZjNC4uM2MxNWViZTA1ODBlNzMzNTMwNTYx
ZmI0ODdjYjRjNjAxMGEyN2MzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApA
QCAtMTQwLDcgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcmVhZEhUTUwoY29u
c3QgU3RyaW5nJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCByZWFkUlRGRChTaGFyZWRCdWZmZXIm
KSA9IDA7CiAgICAgdmlydHVhbCBib29sIHJlYWRSVEYoU2hhcmVkQnVmZmVyJikgPSAwOwotICAg
IHZpcnR1YWwgYm9vbCByZWFkSW1hZ2UoUmVmPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3RyaW5n
JiB0eXBlKSA9IDA7CisgICAgdmlydHVhbCBib29sIHJlYWRJbWFnZShSZWY8U2hhcmVkQnVmZmVy
PiYmLCBjb25zdCBTdHJpbmcmIHR5cGUsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJlZmVycmVkUHJl
c2VudGF0aW9uU2l6ZSA9IHsgfSkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCByZWFkVVJMKGNvbnN0
IFVSTCYsIGNvbnN0IFN0cmluZyYgdGl0bGUpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVhZERh
dGFCdWZmZXIoU2hhcmVkQnVmZmVyJiwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcm
IG5hbWUpID0gMDsKICNlbmRpZgpAQCAtMjg4LDcgKzI4OCw3IEBAIHByaXZhdGU6CiAgICAgICAg
IERpZE5vdFJlYWRUeXBlLAogICAgICAgICBQYXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVybmFsbHkK
ICAgICB9OwotICAgIFJlYWRlclJlc3VsdCByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9y
VHlwZShQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciYsIFBhc3RlYm9hcmRTdHJhdGVneSYsIE5T
U3RyaW5nICp0eXBlLCBpbnQgaXRlbUluZGV4KTsKKyAgICBSZWFkZXJSZXN1bHQgcmVhZFBhc3Rl
Ym9hcmRXZWJDb250ZW50RGF0YUZvclR5cGUoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXImLCBQ
YXN0ZWJvYXJkU3RyYXRlZ3kmLCBOU1N0cmluZyAqdHlwZSwgUGFzdGVib2FyZEl0ZW1JbmZvLCBp
bnQgaXRlbUluZGV4KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZvLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkSXRlbUluZm8uaAppbmRleCA2ZDU3ODM4NWIxODQ2ZjI4
YzQ2Nzg4YWZiMDRlODVjYjkwYTBjMmEwLi45MDM5OTYyNDVlODU1NjcxNDdmMjRkYTkzYWRjNmUx
YTNjYmY0OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
SXRlbUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkSXRlbUlu
Zm8uaApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgUGFzdGVib2FyZEl0ZW1JbmZvIHsKICAgICBW
ZWN0b3I8U3RyaW5nPiBjb250ZW50VHlwZXNGb3JGaWxlVXBsb2FkOwogICAgIFZlY3RvcjxTdHJp
bmc+IGNvbnRlbnRUeXBlc0J5RmlkZWxpdHk7CiAgICAgU3RyaW5nIHN1Z2dlc3RlZEZpbGVOYW1l
OworICAgIE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJlZmVycmVkUHJlc2VudGF0aW9uU2l6ZTsKICAg
ICBib29sIGlzTm9uVGV4dFR5cGUgeyBmYWxzZSB9OwogICAgIGJvb2wgY29udGFpbnNGaWxlVVJM
QW5kRmlsZVVwbG9hZENvbnRlbnQgeyBmYWxzZSB9OwogICAgIFBhc3RlYm9hcmRJdGVtUHJlc2Vu
dGF0aW9uU3R5bGUgcHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGUgeyBQYXN0ZWJvYXJkSXRlbVBy
ZXNlbnRhdGlvblN0eWxlOjpVbnNwZWNpZmllZCB9OwpAQCAtOTcsNyArOTgsNyBAQCBzdHJ1Y3Qg
UGFzdGVib2FyZEl0ZW1JbmZvIHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFBhc3Rl
Ym9hcmRJdGVtSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5j
b2RlciA8PCBwYXRoc0ZvckZpbGVVcGxvYWQgPDwgY29udGVudFR5cGVzRm9yRmlsZVVwbG9hZCA8
PCBjb250ZW50VHlwZXNCeUZpZGVsaXR5IDw8IHN1Z2dlc3RlZEZpbGVOYW1lIDw8IGlzTm9uVGV4
dFR5cGUgPDwgY29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENvbnRlbnQ7CisgICAgZW5jb2Rl
ciA8PCBwYXRoc0ZvckZpbGVVcGxvYWQgPDwgY29udGVudFR5cGVzRm9yRmlsZVVwbG9hZCA8PCBj
b250ZW50VHlwZXNCeUZpZGVsaXR5IDw8IHN1Z2dlc3RlZEZpbGVOYW1lIDw8IHByZWZlcnJlZFBy
ZXNlbnRhdGlvblNpemUgPDwgaXNOb25UZXh0VHlwZSA8PCBjb250YWluc0ZpbGVVUkxBbmRGaWxl
VXBsb2FkQ29udGVudDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0ocHJlZmVycmVkUHJlc2VudGF0
aW9uU3R5bGUpOwogfQogCkBAIC0xMTcsNiArMTE4LDkgQEAgT3B0aW9uYWw8UGFzdGVib2FyZEl0
ZW1JbmZvPiBQYXN0ZWJvYXJkSXRlbUluZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnN1Z2dlc3RlZEZpbGVOYW1lKSkKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnBy
ZWZlcnJlZFByZXNlbnRhdGlvblNpemUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaXNOb25UZXh0VHlwZSkpCiAgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bh
c3RlYm9hcmRJT1MubW0KaW5kZXggMDY1ODRhMGFjOWQ1NTlhZTkwYTM5NjM5NGEwM2U1OGQyMjVl
MzgwZi4uNmNhNzBlMWI4OTYzMDg0MzMxNmZiZmU2OGVkNTA1NzY4NWE4NzBkOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bhc3RlYm9hcmRJT1MubW0KQEAgLTE4MSw3ICsxODEs
NyBAQCBzdGF0aWMgYm9vbCBpc1R5cGVBbGxvd2VkQnlSZWFkaW5nUG9saWN5KE5TU3RyaW5nICp0
eXBlLCBXZWJDb250ZW50UmVhZGluZ1BvbGljeQogICAgICAgICB8fCBbdHlwZSBpc0VxdWFsVG9T
dHJpbmc6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VUVHlwZUZsYXRSVEZEXTsKIH0KIAotUGFzdGVi
b2FyZDo6UmVhZGVyUmVzdWx0IFBhc3RlYm9hcmQ6OnJlYWRQYXN0ZWJvYXJkV2ViQ29udGVudERh
dGFGb3JUeXBlKFBhc3RlYm9hcmRXZWJDb250ZW50UmVhZGVyJiByZWFkZXIsIFBhc3RlYm9hcmRT
dHJhdGVneSYgc3RyYXRlZ3ksIE5TU3RyaW5nICp0eXBlLCBpbnQgaXRlbUluZGV4KQorUGFzdGVi
b2FyZDo6UmVhZGVyUmVzdWx0IFBhc3RlYm9hcmQ6OnJlYWRQYXN0ZWJvYXJkV2ViQ29udGVudERh
dGFGb3JUeXBlKFBhc3RlYm9hcmRXZWJDb250ZW50UmVhZGVyJiByZWFkZXIsIFBhc3RlYm9hcmRT
dHJhdGVneSYgc3RyYXRlZ3ksIE5TU3RyaW5nICp0eXBlLCBQYXN0ZWJvYXJkSXRlbUluZm8gaXRl
bUluZm8sIGludCBpdGVtSW5kZXgpCiB7CiAgICAgaWYgKFt0eXBlIGlzRXF1YWxUb1N0cmluZzpX
ZWJBcmNoaXZlUGJvYXJkVHlwZV0gfHwgW3R5cGUgaXNFcXVhbFRvU3RyaW5nOihfX2JyaWRnZSBO
U1N0cmluZyAqKWtVVFR5cGVXZWJBcmNoaXZlXSkgewogICAgICAgICBhdXRvIGJ1ZmZlciA9IHN0
cmF0ZWd5LnJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZChpdGVtSW5kZXgsIHR5cGUsIG1fcGFzdGVi
b2FyZE5hbWUpOwpAQCAtMjI1LDcgKzIyNSw3IEBAIFBhc3RlYm9hcmQ6OlJlYWRlclJlc3VsdCBQ
YXN0ZWJvYXJkOjpyZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShQYXN0ZWJvCiAg
ICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IHN0cmF0ZWd5LnJlYWRCdWZmZXJG
cm9tUGFzdGVib2FyZChpdGVtSW5kZXgsIHR5cGUsIG1fcGFzdGVib2FyZE5hbWUpOwogICAgICAg
ICBpZiAobV9jaGFuZ2VDb3VudCAhPSBjaGFuZ2VDb3VudCgpKQogICAgICAgICAgICAgcmV0dXJu
IFJlYWRlclJlc3VsdDo6UGFzdGVib2FyZFdhc0NoYW5nZWRFeHRlcm5hbGx5OwotICAgICAgICBy
ZXR1cm4gYnVmZmVyICYmIHJlYWRlci5yZWFkSW1hZ2UoYnVmZmVyLnJlbGVhc2VOb25OdWxsKCks
IHR5cGUpID8gUmVhZGVyUmVzdWx0OjpSZWFkVHlwZSA6IFJlYWRlclJlc3VsdDo6RGlkTm90UmVh
ZFR5cGU7CisgICAgICAgIHJldHVybiBidWZmZXIgJiYgcmVhZGVyLnJlYWRJbWFnZShidWZmZXIu
cmVsZWFzZU5vbk51bGwoKSwgdHlwZSwgaXRlbUluZm8ucHJlZmVycmVkUHJlc2VudGF0aW9uU2l6
ZSkgPyBSZWFkZXJSZXN1bHQ6OlJlYWRUeXBlIDogUmVhZGVyUmVzdWx0OjpEaWROb3RSZWFkVHlw
ZTsKICAgICB9CiAKICAgICBpZiAoW3R5cGUgaXNFcXVhbFRvU3RyaW5nOihfX2JyaWRnZSBOU1N0
cmluZyAqKWtVVFR5cGVVUkxdKSB7CkBAIC0zMTgsNyArMzE4LDcgQEAgdm9pZCBQYXN0ZWJvYXJk
OjpyZWFkKFBhc3RlYm9hcmRXZWJDb250ZW50UmVhZGVyJiByZWFkZXIsIFdlYkNvbnRlbnRSZWFk
aW5nUG9saWMKICAgICAgICAgICAgIGlmICghaXNUeXBlQWxsb3dlZEJ5UmVhZGluZ1BvbGljeSh0
eXBlLCBwb2xpY3kpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBh
dXRvIGl0ZW1SZXN1bHQgPSByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShyZWFk
ZXIsIHN0cmF0ZWd5LCB0eXBlLCBpKTsKKyAgICAgICAgICAgIGF1dG8gaXRlbVJlc3VsdCA9IHJl
YWRQYXN0ZWJvYXJkV2ViQ29udGVudERhdGFGb3JUeXBlKHJlYWRlciwgc3RyYXRlZ3ksIHR5cGUs
IGluZm8sIGkpOwogICAgICAgICAgICAgaWYgKGl0ZW1SZXN1bHQgPT0gUmVhZGVyUmVzdWx0OjpQ
YXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVybmFsbHkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
CkBAIC0zNTgsNyArMzU4LDcgQEAgdm9pZCBQYXN0ZWJvYXJkOjpyZWFkUmVzcGVjdGluZ1VUSUZp
ZGVsaXRpZXMoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXImIHJlYWRlciwKICAgICAgICAgICAg
IGlmICghaXNUeXBlQWxsb3dlZEJ5UmVhZGluZ1BvbGljeSh0eXBlLCBwb2xpY3kpKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICByZXN1bHQgPSByZWFkUGFzdGVib2Fy
ZFdlYkNvbnRlbnREYXRhRm9yVHlwZShyZWFkZXIsIHN0cmF0ZWd5LCB0eXBlLCBpbmRleCk7Cisg
ICAgICAgICAgICByZXN1bHQgPSByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShy
ZWFkZXIsIHN0cmF0ZWd5LCB0eXBlLCBpbmZvLCBpbmRleCk7CiAgICAgICAgICAgICBpZiAocmVz
dWx0ID09IFJlYWRlclJlc3VsdDo6UGFzdGVib2FyZFdhc0NoYW5nZWRFeHRlcm5hbGx5KQogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gUmVhZGVyUmVz
dWx0OjpSZWFkVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVBhc3RlYm9hcmRJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxh
dGZvcm1QYXN0ZWJvYXJkSU9TLm1tCmluZGV4IGFmZjM1ZWQ1ZGZjMTMxMTNjYTI4ZjE4ZDZmMTk2
MjNkYTljMjIxZDUuLjhhODZlNGE0MDA3ZGQ1MDM4ZWZmMzA4MDU3ZmMwN2JjMjI1OTdhMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9hcmRJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2Fy
ZElPUy5tbQpAQCAtMTU1LDYgKzE1NSw4IEBAIFBhc3RlYm9hcmRJdGVtSW5mbyBQbGF0Zm9ybVBh
c3RlYm9hcmQ6OmluZm9ybWF0aW9uRm9ySXRlbUF0SW5kZXgoaW50IGluZGV4KQogI2lmIFBBU1RF
Qk9BUkRfU1VQUE9SVFNfUFJFU0VOVEFUSU9OX1NUWUxFX0FORF9URUFNX0RBVEEKICAgICBpbmZv
LnByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlID0gcGFzdGVib2FyZEl0ZW1QcmVzZW50YXRpb25T
dHlsZShpdGVtUHJvdmlkZXIucHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGUpOwogI2VuZGlmCisg
ICAgaWYgKCFDR1NpemVFcXVhbFRvU2l6ZShpdGVtUHJvdmlkZXIucHJlZmVycmVkUHJlc2VudGF0
aW9uU2l6ZSwgQ0dTaXplWmVybykpCisgICAgICAgIGluZm8ucHJlZmVycmVkUHJlc2VudGF0aW9u
U2l6ZSA9IEZsb2F0U2l6ZSB7IGl0ZW1Qcm92aWRlci5wcmVmZXJyZWRQcmVzZW50YXRpb25TaXpl
IH07CiAgICAgaW5mby5jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVudCA9IGl0ZW1Q
cm92aWRlci53ZWJfY29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENvbnRlbnQ7CiAgICAgaW5m
by5zdWdnZXN0ZWRGaWxlTmFtZSA9IGl0ZW1Qcm92aWRlci5zdWdnZXN0ZWROYW1lOwogICAgIE5T
QXJyYXk8TlNTdHJpbmcgKj4gKnJlZ2lzdGVyZWRUeXBlSWRlbnRpZmllcnMgPSBpdGVtUHJvdmlk
ZXIucmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVyczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1NDdhMWI5ZGM2MDQ0MTlhMGFkMmE0YjZlYjhiNWMz
MmZlM2YxMzcwLi5kYmY1ZDMzZGU2Yjc4ODljNjJjYWQ0ZGMzMWQ2OGMwYTNjMTI2YWJiIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTktMDUtMjIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBbUGFzdGVdIEFkZCBzdXBwb3J0IGZvciBwcmVmZXJyZWQgcHJlc2VudGF0aW9uIHNpemUg
d2hlbiBwYXN0aW5nIGFuIGltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgxMzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwODg2OTE3Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMubW06CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKwogMjAxOS0wNS0xNSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW2V3cy1idWlsZF0gRW5hYmxpbmcgdXBsb2FkaW5nIEVXUyBh
cmNoaXZlcyB0byBTMwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3Mv
VUlQYXN0ZWJvYXJkVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBh
c3RlYm9hcmRUZXN0cy5tbQppbmRleCBiODc4MDY0NTRkYjk4ZTNmYTFmMTBlNDAxM2Q3ZDNlY2M5
ZWY5ZjJjLi4wZGE0NTBiZjE1ZDgxNmJjODYwOGMzMWYxMGYzM2MxZWUwZWRjNzIxIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQpA
QCAtMzAyLDYgKzMwMiw1MiBAQCBURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBEYXRhVHJhbnNmZXJV
UklMaXN0Q29udGFpbnNNdWx0aXBsZVVSTHMpCiAgICAgRVhQRUNUX1dLX1NUUkVRKCJodHRwczov
L3d3dy5hcHBsZS5jb20vIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
InRleHREYXRhLnRleHRDb250ZW50Il0pOwogfQogCitURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBW
YWxpZFByZWZlcnJlZFByZXNlbnRhdGlvblNpemVGb3JJbWFnZSkKK3sKKyAgICBhdXRvIHdlYlZp
ZXcgPSBzZXRVcFdlYlZpZXdGb3JQYXN0ZWJvYXJkVGVzdHMoQCJhdXRvZm9jdXMtY29udGVudGVk
aXRhYmxlIik7CisgICAgYXV0byBpdGVtUHJvdmlkZXIgPSBhZG9wdE5TKFtbTlNJdGVtUHJvdmlk
ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbaXRlbVByb3ZpZGVyIHNldFByZWZlcnJlZFByZXNlbnRh
dGlvblNpemU6Q0dTaXplTWFrZSgxMCwgMjApXTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVy
RGF0YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KF9fYnJpZGdlIE5TU3RyaW5nICop
a1VUVHlwZVBORyB2aXNpYmlsaXR5Ok5TSXRlbVByb3ZpZGVyUmVwcmVzZW50YXRpb25WaXNpYmls
aXR5QWxsIGxvYWRIYW5kbGVyOltdIChEYXRhTG9hZENvbXBsZXRpb25CbG9jayBjb21wbGV0aW9u
SGFuZGxlcikgLT4gTlNQcm9ncmVzcyAqIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoW05T
RGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JS
ZXNvdXJjZTpAImljb24iIHdpdGhFeHRlbnNpb246QCJwbmciIHN1YmRpcmVjdG9yeTpAIlRlc3RX
ZWJLaXRBUEkucmVzb3VyY2VzIl1dLCBuaWwpOworICAgICAgICByZXR1cm4gbmlsOworICAgIH1d
OworICAgIFtVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdLml0ZW1Qcm92aWRlcnMgPSBA
WyBpdGVtUHJvdmlkZXIuZ2V0KCkgXTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxdOworCisgICAg
RVhQRUNUX1dLX1NUUkVRKCIxMCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWcnKS53aWR0aCJdKTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoIjIwIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ltZycpLmhlaWdodCJdKTsKK30KKworVEVTVChVSVBhc3Rl
Ym9hcmRUZXN0cywgSW52YWxpZFByZWZlcnJlZFByZXNlbnRhdGlvblNpemVGb3JJbWFnZSkKK3sK
KyAgICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXdGb3JQYXN0ZWJvYXJkVGVzdHMoQCJhdXRv
Zm9jdXMtY29udGVudGVkaXRhYmxlIik7CisgICAgYXV0byBpdGVtUHJvdmlkZXIgPSBhZG9wdE5T
KFtbTlNJdGVtUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbaXRlbVByb3ZpZGVyIHNldFBy
ZWZlcnJlZFByZXNlbnRhdGlvblNpemU6Q0dTaXplTWFrZSgtMTAsIC0yMCldOworICAgIFtpdGVt
UHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRpZmllcjooX19i
cmlkZ2UgTlNTdHJpbmcgKilrVVRUeXBlUE5HIHZpc2liaWxpdHk6TlNJdGVtUHJvdmlkZXJSZXBy
ZXNlbnRhdGlvblZpc2liaWxpdHlBbGwgbG9hZEhhbmRsZXI6W10gKERhdGFMb2FkQ29tcGxldGlv
bkJsb2NrIGNvbXBsZXRpb25IYW5kbGVyKSAtPiBOU1Byb2dyZXNzICogeworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZlVSTDpbW05TQnVuZGxlIG1h
aW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaWNvbiIgd2l0aEV4dGVuc2lvbjpAInBuZyIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV0sIG5pbCk7CisgICAgICAgIHJl
dHVybiBuaWw7CisgICAgfV07CisgICAgW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0u
aXRlbVByb3ZpZGVycyA9IEBbIGl0ZW1Qcm92aWRlci5nZXQoKSBdOworICAgIFt3ZWJWaWV3IHBh
c3RlOm5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjAiLCBbd2ViVmlldyBzdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykud2lkdGgi
XSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIxNzQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykuaGVpZ2h0Il0pOwor
fQorCitURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBNaXNzaW5nUHJlZmVycmVkUHJlc2VudGF0aW9u
U2l6ZUZvckltYWdlKQoreworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0ZvclBhc3Rl
Ym9hcmRUZXN0cyhAImF1dG9mb2N1cy1jb250ZW50ZWRpdGFibGUiKTsKKyAgICBhdXRvIGl0ZW1Q
cm92aWRlciA9IGFkb3B0TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIFtp
dGVtUHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRpZmllcjoo
X19icmlkZ2UgTlNTdHJpbmcgKilrVVRUeXBlUE5HIHZpc2liaWxpdHk6TlNJdGVtUHJvdmlkZXJS
ZXByZXNlbnRhdGlvblZpc2liaWxpdHlBbGwgbG9hZEhhbmRsZXI6W10gKERhdGFMb2FkQ29tcGxl
dGlvbkJsb2NrIGNvbXBsZXRpb25IYW5kbGVyKSAtPiBOU1Byb2dyZXNzICogeworICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZlVSTDpbW05TQnVuZGxl
IG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaWNvbiIgd2l0aEV4dGVuc2lvbjpAInBuZyIg
c3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV0sIG5pbCk7CisgICAgICAg
IHJldHVybiBuaWw7CisgICAgfV07CisgICAgW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2Fy
ZF0uaXRlbVByb3ZpZGVycyA9IEBbIGl0ZW1Qcm92aWRlci5nZXQoKSBdOworICAgIFt3ZWJWaWV3
IHBhc3RlOm5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjAiLCBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykud2lk
dGgiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIxNzQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykuaGVpZ2h0Il0p
OworfQogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370431</attachid>
            <date>2019-05-22 11:48:30 -0700</date>
            <delta_ts>2019-05-22 12:13:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198132-20190522114829.patch</filename>
            <type>text/plain</type>
            <size>20636</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVkOWM2YzVlODk1ZWY2
YWMzNDQ4NzU4YmE2ZGMyMzJiZTgzMmYzYi4uNzgyYmYwYzczM2ZmZjA1YzBiNjliNDVkMmIyNzZi
M2FmOWEzZmM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE5LTA1LTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1Bhc3RlXSBBZGQgc3VwcG9y
dCBmb3IgcHJlZmVycmVkIHByZXNlbnRhdGlvbiBzaXplIHdoZW4gcGFzdGluZyBhbiBpbWFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTMyCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDg4NjkxNz4KKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgU2V0IHRoZSBwYXN0ZWQgPGltZz4gd2lkdGgvaGVpZ2h0
IGF0dHJpYnV0ZXMgd2hlbiB0aGUgcHJlZmVycmVkIHByZXNlbnRhdGlvbiBzaXplIGlzIGF2YWls
YWJsZS4KKworICAgICAgICAqIGVkaXRpbmcvV2ViQ29udGVudFJlYWRlci5oOgorICAgICAgICAq
IGVkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlRnJhZ21lbnRGb3JJbWFnZUF0dGFjaG1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViQ29udGVudFJlYWRlcjo6cmVhZEltYWdlKToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGcmFnbWVudEZvckltYWdlQW5kVVJMKToKKyAg
ICAgICAgKiBlZGl0aW5nL21hcmt1cC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmRXZWJDb250ZW50UmVhZGVyOjpyZWFkSW1h
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oOgorICAgICAgICAo
V2ViQ29yZTo6UGFzdGVib2FyZEl0ZW1JbmZvOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFzdGVib2FyZEl0ZW1JbmZvOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9QYXN0ZWJvYXJkSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6cmVhZFBh
c3RlYm9hcmRXZWJDb250ZW50RGF0YUZvclR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVi
b2FyZDo6cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFkUmVzcGVjdGlu
Z1VUSUZpZGVsaXRpZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVBhc3RlYm9h
cmRJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OmluZm9ybWF0
aW9uRm9ySXRlbUF0SW5kZXgpOgorCiAyMDE5LTA1LTE1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgRG8gbm90IGNyZWF0ZSBhIHNoYXBlIG9iamVjdCBvdXRzaWRl
IG9mIHRoZSBsYXlvdXQgY29udGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4MGJmOGEzMGE0MTM4ZThkMWI5OTcx
ZTZhMmFjNWU3ZTVmYTY3YTQ4Li5iOGI2ZmVlMmMxMzBkODhmYzcwYWNlY2JhZTgyNTc5YzY3MDQ2
YzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA1LTIyICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1Bhc3RlXSBBZGQgc3VwcG9ydCBmb3IgcHJl
ZmVycmVkIHByZXNlbnRhdGlvbiBzaXplIHdoZW4gcGFzdGluZyBhbiBpbWFnZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTMyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS81MDg4NjkxNz4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNp
ZWguCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW06
CisgICAgICAgIChhZGRUb1JlYWRpbmdMaXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
QWN0aW9uU2hlZXRBc3Npc3RhbnQubW06CisgICAgICAgICgtW1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQgZGVmYXVsdEFjdGlvbnNGb3JMaW5rU2hlZXQ6XSk6CisgICAgICAgICgtW1dLQWN0aW9uU2hl
ZXRBc3Npc3RhbnQgZGVmYXVsdEFjdGlvbnNGb3JJbWFnZVNoZWV0Ol0pOgorCiAyMDE5LTA1LTE1
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlzZSBz
YW5kYm94IHRvIGFsbG93IElPS2l0IHByb3BlcnRpZXMgbmVlZGVkIGJ5IE1ldGFsIGFuZCBMYXVu
Y2hTZXJ2aWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9XZWJDb250ZW50
UmVhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1dlYkNvbnRlbnRSZWFkZXIuaAppbmRl
eCAzYzMxMTEyZmJlNDM5OTdhNDY0MjIwMjA1ZmQxOTQwMzQzN2YyNDM2Li4zMGMwOGNlNDNjMWFi
YzAyMjQ3N2IyYWU5YjMzNzBkNDEyNTNmNjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1dlYkNvbnRlbnRSZWFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1dl
YkNvbnRlbnRSZWFkZXIuaApAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVh
ZEhUTUwoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgYm9vbCByZWFkUlRGRChTaGFyZWRC
dWZmZXImKSBvdmVycmlkZTsKICAgICBib29sIHJlYWRSVEYoU2hhcmVkQnVmZmVyJikgb3ZlcnJp
ZGU7Ci0gICAgYm9vbCByZWFkSW1hZ2UoUmVmPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3RyaW5n
JiB0eXBlKSBvdmVycmlkZTsKKyAgICBib29sIHJlYWRJbWFnZShSZWY8U2hhcmVkQnVmZmVyPiYm
LCBjb25zdCBTdHJpbmcmIHR5cGUsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJlZmVycmVkUHJlc2Vu
dGF0aW9uU2l6ZSA9IHsgfSkgb3ZlcnJpZGU7CiAgICAgYm9vbCByZWFkVVJMKGNvbnN0IFVSTCYs
IGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlOwogICAgIGJvb2wgcmVhZERhdGFCdWZmZXIo
U2hhcmVkQnVmZmVyJiwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUpIG92
ZXJyaWRlOwogI2VuZGlmCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCByZWFk
SFRNTChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29sIHJlYWRSVEZEKFNoYXJlZEJ1
ZmZlciYpIG92ZXJyaWRlOwogICAgIGJvb2wgcmVhZFJURihTaGFyZWRCdWZmZXImKSBvdmVycmlk
ZTsKLSAgICBib29sIHJlYWRJbWFnZShSZWY8U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcm
KSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgcmVhZEltYWdlKFJlZjxTaGFy
ZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gPSB7IH0pIG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCByZWFkVVJMKGNvbnN0IFVSTCYsIGNv
bnN0IFN0cmluZyYpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCByZWFkRGF0
YUJ1ZmZlcihTaGFyZWRCdWZmZXImLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tCmluZGV4IDhjMzMxZmY3MzJl
ODMwNDljYTM4ODc0ODQxZGUzYjJhNGRkZjVlZDAuLjU2MWEwNzMwNDg5OWU5ODMzNWQ2MTE3MmE3
NjIyOWIyNTMzZTgyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2Ev
V2ViQ29udGVudFJlYWRlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tCkBAIC0yNDYsNyArMjQ2LDcgQEAgc3RhdGljIGJv
b2wgc3VwcG9ydHNDbGllbnRTaWRlQXR0YWNobWVudERhdGEoY29uc3QgRnJhbWUmIGZyYW1lKQog
CiAjZW5kaWYKIAotc3RhdGljIFJlZjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbWVudEZv
ckltYWdlQXR0YWNobWVudChGcmFtZSYgZnJhbWUsIERvY3VtZW50JiBkb2N1bWVudCwgUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBidWZmZXIsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpCitzdGF0aWMg
UmVmPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBdHRhY2htZW50KEZy
YW1lJiBmcmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBSZWY8U2hhcmVkQnVmZmVyPiYmIGJ1ZmZl
ciwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgT3B0aW9uYWw8RmxvYXRTaXplPiBwcmVmZXJy
ZWRTaXplKQogewogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgYXV0byBhdHRh
Y2htZW50ID0gSFRNTEF0dGFjaG1lbnRFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjphdHRhY2ht
ZW50VGFnLCBkb2N1bWVudCk7CkBAIC0yNjAsNiArMjYwLDEwIEBAIHN0YXRpYyBSZWY8RG9jdW1l
bnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGb3JJbWFnZUF0dGFjaG1lbnQoRnJhbWUmIGZyYW1l
LCBEb2N1CiAgICAgICAgICAgICBhdXRvIGltYWdlID0gSFRNTEltYWdlRWxlbWVudDo6Y3JlYXRl
KGRvY3VtZW50KTsKICAgICAgICAgICAgIGltYWdlLT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKEhUTUxOYW1lczo6c3JjQXR0ciwgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoZG9j
dW1lbnQsIEJsb2I6OmNyZWF0ZShidWZmZXIuZ2V0KCksIGNvbnRlbnRUeXBlKSkpOwogICAgICAg
ICAgICAgaW1hZ2UtPnNldEF0dGFjaG1lbnRFbGVtZW50KFdURk1vdmUoYXR0YWNobWVudCkpOwor
ICAgICAgICAgICAgaWYgKHByZWZlcnJlZFNpemUpIHsKKyAgICAgICAgICAgICAgICBpbWFnZS0+
c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OndpZHRoQXR0ciwg
QXRvbWljU3RyaW5nOjpudW1iZXIocHJlZmVycmVkU2l6ZS0+d2lkdGgoKSkpOworICAgICAgICAg
ICAgICAgIGltYWdlLT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1l
czo6aGVpZ2h0QXR0ciwgQXRvbWljU3RyaW5nOjpudW1iZXIocHJlZmVycmVkU2l6ZS0+aGVpZ2h0
KCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGZyYWdtZW50LT5hcHBlbmRDaGlsZChX
VEZNb3ZlKGltYWdlKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBhdHRhY2htZW50
LT51cGRhdGVBdHRyaWJ1dGVzKGJ1ZmZlci0+c2l6ZSgpLCBjb250ZW50VHlwZSwgZGVmYXVsdElt
YWdlQXR0YWNobWVudE5hbWUpOwpAQCAtNjc2LDE0ICs2ODAsMTQgQEAgYm9vbCBXZWJDb250ZW50
UmVhZGVyOjpyZWFkUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotYm9vbCBXZWJDb250ZW50UmVhZGVyOjpyZWFkSW1hZ2UoUmVmPFNoYXJlZEJ1ZmZl
cj4mJiBidWZmZXIsIGNvbnN0IFN0cmluZyYgdHlwZSkKK2Jvb2wgV2ViQ29udGVudFJlYWRlcjo6
cmVhZEltYWdlKFJlZjxTaGFyZWRCdWZmZXI+JiYgYnVmZmVyLCBjb25zdCBTdHJpbmcmIHR5cGUs
IE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJlZmVycmVkUHJlc2VudGF0aW9uU2l6ZSkKIHsKICAgICBB
U1NFUlQoZnJhbWUuZG9jdW1lbnQoKSk7CiAgICAgYXV0byYgZG9jdW1lbnQgPSAqZnJhbWUuZG9j
dW1lbnQoKTsKICAgICBpZiAoc2hvdWxkUmVwbGFjZVJpY2hDb250ZW50V2l0aEF0dGFjaG1lbnRz
KCkpCi0gICAgICAgIGFkZEZyYWdtZW50KGNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBdHRhY2htZW50
KGZyYW1lLCBkb2N1bWVudCwgV1RGTW92ZShidWZmZXIpLCB0eXBlKSk7CisgICAgICAgIGFkZEZy
YWdtZW50KGNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBdHRhY2htZW50KGZyYW1lLCBkb2N1bWVudCwg
V1RGTW92ZShidWZmZXIpLCB0eXBlLCBwcmVmZXJyZWRQcmVzZW50YXRpb25TaXplKSk7CiAgICAg
ZWxzZQotICAgICAgICBhZGRGcmFnbWVudChjcmVhdGVGcmFnbWVudEZvckltYWdlQW5kVVJMKGRv
Y3VtZW50LCBET01VUkw6OmNyZWF0ZU9iamVjdFVSTChkb2N1bWVudCwgQmxvYjo6Y3JlYXRlKGJ1
ZmZlci5nZXQoKSwgdHlwZSkpKSk7CisgICAgICAgIGFkZEZyYWdtZW50KGNyZWF0ZUZyYWdtZW50
Rm9ySW1hZ2VBbmRVUkwoZG9jdW1lbnQsIERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKGRvY3VtZW50
LCBCbG9iOjpjcmVhdGUoYnVmZmVyLmdldCgpLCB0eXBlKSksIHByZWZlcnJlZFByZXNlbnRhdGlv
blNpemUpKTsKIAogICAgIHJldHVybiBmcmFnbWVudDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvZ3RrL0VkaXRvckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2d0ay9FZGl0b3JHdGsuY3BwCmluZGV4IDgxOWY2NzQ3N2I5NzM0OWQ0YjA5ZDViMmFhMmQzYzY2
MDAzZDM3MDUuLjhjNGVhMjkwZmM1YjhjM2Q0YzNkMDljZTMwNTQxMmQ4MjZhNWRjYTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvZ3RrL0VkaXRvckd0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9ndGsvRWRpdG9yR3RrLmNwcApAQCAtNjksNyArNjksNyBAQCBz
dGF0aWMgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50RnJvbVBhc3RlYm9h
cmREYXRhKFBhc3RlYm9hcmQmIHBhcwogICAgICAgICAgICAgYXV0byBibG9iID0gQmxvYjo6Y3Jl
YXRlKFdURk1vdmUoYnVmZmVyKSwgImltYWdlL3BuZyIpOwogICAgICAgICAgICAgaWYgKCFmcmFt
ZS5kb2N1bWVudCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAg
ICAgcmV0dXJuIGNyZWF0ZUZyYWdtZW50Rm9ySW1hZ2VBbmRVUkwoKmZyYW1lLmRvY3VtZW50KCks
IERPTVVSTDo6Y3JlYXRlT2JqZWN0VVJMKCpmcmFtZS5kb2N1bWVudCgpLCBibG9iKSk7CisgICAg
ICAgICAgICByZXR1cm4gY3JlYXRlRnJhZ21lbnRGb3JJbWFnZUFuZFVSTCgqZnJhbWUuZG9jdW1l
bnQoKSwgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoKmZyYW1lLmRvY3VtZW50KCksIGJsb2IpLCB7
IH0pOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXgg
MDBjYjRlOThmMzA3MGQ1NGZhZDAzZWQ0MDdmYjE1YTM0OTRkYTg1Yi4uNmRjYzdlNDkwMDE2OGQ1
ZmFjY2U2YmYyNDViZTAzYjU0OTY4OWNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApA
QCAtMTIyNiwxMCArMTIyNiwxNCBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJh
Z21lbnRGb3JUcmFuc2Zvcm1Ub0ZyYWdtZW50KERvY3VtZW50JiBvdXRwdXREbwogICAgIHJldHVy
biBmcmFnbWVudDsKIH0KIAotUmVmPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50Rm9y
SW1hZ2VBbmRVUkwoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHVybCkKK1JlZjxE
b2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbWVudEZvckltYWdlQW5kVVJMKERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgU3RyaW5nJiB1cmwsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJlZmVycmVk
U2l6ZSkKIHsKICAgICBhdXRvIGltYWdlRWxlbWVudCA9IEhUTUxJbWFnZUVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCk7CiAgICAgaW1hZ2VFbGVtZW50LT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKEhUTUxOYW1lczo6c3JjQXR0ciwgdXJsKTsKKyAgICBpZiAocHJlZmVycmVkU2l6
ZSkgeworICAgICAgICBpbWFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oSFRNTE5hbWVzOjp3aWR0aEF0dHIsIEF0b21pY1N0cmluZzo6bnVtYmVyKHByZWZlcnJl
ZFNpemUtPndpZHRoKCkpKTsKKyAgICAgICAgaW1hZ2VFbGVtZW50LT5zZXRBdHRyaWJ1dGVXaXRo
b3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6aGVpZ2h0QXR0ciwgQXRvbWljU3RyaW5nOjpu
dW1iZXIocHJlZmVycmVkU2l6ZS0+aGVpZ2h0KCkpKTsKKyAgICB9CiAKICAgICBhdXRvIGZyYWdt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogICAgIGZyYWdtZW50LT5h
cHBlbmRDaGlsZChpbWFnZUVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYXJrdXAuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmgKaW5kZXggZjIy
YTQ2NGY5MDJhYjY0OWZmNGY2NTQwNDlmOGE3MzJiZDgwODUxMi4uNzkyMmE3OGI4MDU1YmFiMmYy
M2ZiMThiNTlmYzY4ODcxN2E5ZDBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9tYXJrdXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5oCkBAIC01OSw3
ICs1OSw3IEBAIFdFQkNPUkVfRVhQT1JUIFJlZjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFn
bWVudEZyb21UZXh0KFJhbmdlJiBjb250ZXh0LCBjb25zCiBXRUJDT1JFX0VYUE9SVCBSZWY8RG9j
dW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKERvY3VtZW50JiwgY29uc3Qg
U3RyaW5nJiBtYXJrdXAsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgUGFyc2VyQ29udGVudFBvbGlj
eSA9IEFsbG93U2NyaXB0aW5nQ29udGVudCk7CiBFeGNlcHRpb25PcjxSZWY8RG9jdW1lbnRGcmFn
bWVudD4+IGNyZWF0ZUZyYWdtZW50Rm9ySW5uZXJPdXRlckhUTUwoRWxlbWVudCYsIGNvbnN0IFN0
cmluZyYgbWFya3VwLCBQYXJzZXJDb250ZW50UG9saWN5KTsKIFJlZlB0cjxEb2N1bWVudEZyYWdt
ZW50PiBjcmVhdGVGcmFnbWVudEZvclRyYW5zZm9ybVRvRnJhZ21lbnQoRG9jdW1lbnQmLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2VNSU1FVHlwZSk7Ci1S
ZWY8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGb3JJbWFnZUFuZFVSTChEb2N1bWVu
dCYsIGNvbnN0IFN0cmluZyYpOworUmVmPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50
Rm9ySW1hZ2VBbmRVUkwoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmLCBPcHRpb25hbDxGbG9hdFNp
emU+IHByZWZlcnJlZFNpemUpOwogRXhjZXB0aW9uT3I8UmVmPERvY3VtZW50RnJhZ21lbnQ+PiBj
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoRWxlbWVudCYsIGNvbnN0IFN0cmluZyYgbWFya3VwLCBQ
YXJzZXJDb250ZW50UG9saWN5KTsKIAogYm9vbCBpc1BsYWluVGV4dE1hcmt1cChOb2RlKik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggNGEyZjM2NDVjNDAzOWFiZGJlOGI0
NjhhNDI4ODNjMGJkNGVkNmZjNC4uMmMxNzQxNWU4ODliMzM0YjgzY2Y5YjkzNjczN2I2MTExNDhi
OTAzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMTQwLDcgKzE0MCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcmVhZEhUTUwoY29uc3QgU3RyaW5nJikgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCByZWFkUlRGRChTaGFyZWRCdWZmZXImKSA9IDA7CiAgICAgdmly
dHVhbCBib29sIHJlYWRSVEYoU2hhcmVkQnVmZmVyJikgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBy
ZWFkSW1hZ2UoUmVmPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3RyaW5nJiB0eXBlKSA9IDA7Cisg
ICAgdmlydHVhbCBib29sIHJlYWRJbWFnZShSZWY8U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJp
bmcmIHR5cGUsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gcHJlZmVycmVkUHJlc2VudGF0aW9uU2l6ZSA9
IHsgfSkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCByZWFkVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFN0
cmluZyYgdGl0bGUpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVhZERhdGFCdWZmZXIoU2hhcmVk
QnVmZmVyJiwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUpID0gMDsKICNl
bmRpZgpAQCAtMjg4LDcgKzI4OCw3IEBAIHByaXZhdGU6CiAgICAgICAgIERpZE5vdFJlYWRUeXBl
LAogICAgICAgICBQYXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVybmFsbHkKICAgICB9OwotICAgIFJl
YWRlclJlc3VsdCByZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlwZShQYXN0ZWJvYXJk
V2ViQ29udGVudFJlYWRlciYsIFBhc3RlYm9hcmRTdHJhdGVneSYsIE5TU3RyaW5nICp0eXBlLCBp
bnQgaXRlbUluZGV4KTsKKyAgICBSZWFkZXJSZXN1bHQgcmVhZFBhc3RlYm9hcmRXZWJDb250ZW50
RGF0YUZvclR5cGUoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXImLCBQYXN0ZWJvYXJkU3RyYXRl
Z3kmLCBOU1N0cmluZyAqdHlwZSwgY29uc3QgUGFzdGVib2FyZEl0ZW1JbmZvJiwgaW50IGl0ZW1J
bmRleCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRJdGVtSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZvLmgKaW5kZXggNmQ1NzgzODViMTg0NmYyOGM0Njc4OGFm
YjA0ZTg1Y2I5MGEwYzJhMC4uOTAzOTk2MjQ1ZTg1NTY3MTQ3ZjI0ZGE5M2FkYzZlMWEzY2JmNDkw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZEl0ZW1JbmZvLmgKQEAg
LTQyLDYgKzQyLDcgQEAgc3RydWN0IFBhc3RlYm9hcmRJdGVtSW5mbyB7CiAgICAgVmVjdG9yPFN0
cmluZz4gY29udGVudFR5cGVzRm9yRmlsZVVwbG9hZDsKICAgICBWZWN0b3I8U3RyaW5nPiBjb250
ZW50VHlwZXNCeUZpZGVsaXR5OwogICAgIFN0cmluZyBzdWdnZXN0ZWRGaWxlTmFtZTsKKyAgICBP
cHRpb25hbDxGbG9hdFNpemU+IHByZWZlcnJlZFByZXNlbnRhdGlvblNpemU7CiAgICAgYm9vbCBp
c05vblRleHRUeXBlIHsgZmFsc2UgfTsKICAgICBib29sIGNvbnRhaW5zRmlsZVVSTEFuZEZpbGVV
cGxvYWRDb250ZW50IHsgZmFsc2UgfTsKICAgICBQYXN0ZWJvYXJkSXRlbVByZXNlbnRhdGlvblN0
eWxlIHByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxlIHsgUGFzdGVib2FyZEl0ZW1QcmVzZW50YXRp
b25TdHlsZTo6VW5zcGVjaWZpZWQgfTsKQEAgLTk3LDcgKzk4LDcgQEAgc3RydWN0IFBhc3RlYm9h
cmRJdGVtSW5mbyB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBQYXN0ZWJvYXJkSXRl
bUluZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGVuY29kZXIgPDwg
cGF0aHNGb3JGaWxlVXBsb2FkIDw8IGNvbnRlbnRUeXBlc0ZvckZpbGVVcGxvYWQgPDwgY29udGVu
dFR5cGVzQnlGaWRlbGl0eSA8PCBzdWdnZXN0ZWRGaWxlTmFtZSA8PCBpc05vblRleHRUeXBlIDw8
IGNvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50OworICAgIGVuY29kZXIgPDwgcGF0
aHNGb3JGaWxlVXBsb2FkIDw8IGNvbnRlbnRUeXBlc0ZvckZpbGVVcGxvYWQgPDwgY29udGVudFR5
cGVzQnlGaWRlbGl0eSA8PCBzdWdnZXN0ZWRGaWxlTmFtZSA8PCBwcmVmZXJyZWRQcmVzZW50YXRp
b25TaXplIDw8IGlzTm9uVGV4dFR5cGUgPDwgY29udGFpbnNGaWxlVVJMQW5kRmlsZVVwbG9hZENv
bnRlbnQ7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHByZWZlcnJlZFByZXNlbnRhdGlvblN0eWxl
KTsKIH0KIApAQCAtMTE3LDYgKzExOCw5IEBAIE9wdGlvbmFsPFBhc3RlYm9hcmRJdGVtSW5mbz4g
UGFzdGVib2FyZEl0ZW1JbmZvOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5zdWdnZXN0ZWRGaWxlTmFtZSkpCiAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmZXJyZWRQ
cmVzZW50YXRpb25TaXplKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlzTm9uVGV4dFR5cGUpKQogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
UGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJk
SU9TLm1tCmluZGV4IDA2NTg0YTBhYzlkNTU5YWU5MGEzOTYzOTRhMDNlNThkMjI1ZTM4MGYuLjZm
ZTIzZDlkODdkM2Q1NmJmYWU4ZmY4MjNlNmI1MDUyM2MwZWZhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9QYXN0ZWJvYXJkSU9TLm1tCkBAIC0xODEsNyArMTgxLDcgQEAgc3Rh
dGljIGJvb2wgaXNUeXBlQWxsb3dlZEJ5UmVhZGluZ1BvbGljeShOU1N0cmluZyAqdHlwZSwgV2Vi
Q29udGVudFJlYWRpbmdQb2xpY3kKICAgICAgICAgfHwgW3R5cGUgaXNFcXVhbFRvU3RyaW5nOihf
X2JyaWRnZSBOU1N0cmluZyAqKWtVVFR5cGVGbGF0UlRGRF07CiB9CiAKLVBhc3RlYm9hcmQ6OlJl
YWRlclJlc3VsdCBQYXN0ZWJvYXJkOjpyZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlw
ZShQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciYgcmVhZGVyLCBQYXN0ZWJvYXJkU3RyYXRlZ3km
IHN0cmF0ZWd5LCBOU1N0cmluZyAqdHlwZSwgaW50IGl0ZW1JbmRleCkKK1Bhc3RlYm9hcmQ6OlJl
YWRlclJlc3VsdCBQYXN0ZWJvYXJkOjpyZWFkUGFzdGVib2FyZFdlYkNvbnRlbnREYXRhRm9yVHlw
ZShQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciYgcmVhZGVyLCBQYXN0ZWJvYXJkU3RyYXRlZ3km
IHN0cmF0ZWd5LCBOU1N0cmluZyAqdHlwZSwgY29uc3QgUGFzdGVib2FyZEl0ZW1JbmZvJiBpdGVt
SW5mbywgaW50IGl0ZW1JbmRleCkKIHsKICAgICBpZiAoW3R5cGUgaXNFcXVhbFRvU3RyaW5nOldl
YkFyY2hpdmVQYm9hcmRUeXBlXSB8fCBbdHlwZSBpc0VxdWFsVG9TdHJpbmc6KF9fYnJpZGdlIE5T
U3RyaW5nICopa1VUVHlwZVdlYkFyY2hpdmVdKSB7CiAgICAgICAgIGF1dG8gYnVmZmVyID0gc3Ry
YXRlZ3kucmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKGl0ZW1JbmRleCwgdHlwZSwgbV9wYXN0ZWJv
YXJkTmFtZSk7CkBAIC0yMjUsNyArMjI1LDcgQEAgUGFzdGVib2FyZDo6UmVhZGVyUmVzdWx0IFBh
c3RlYm9hcmQ6OnJlYWRQYXN0ZWJvYXJkV2ViQ29udGVudERhdGFGb3JUeXBlKFBhc3RlYm8KICAg
ICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gc3RyYXRlZ3kucmVhZEJ1ZmZlckZy
b21QYXN0ZWJvYXJkKGl0ZW1JbmRleCwgdHlwZSwgbV9wYXN0ZWJvYXJkTmFtZSk7CiAgICAgICAg
IGlmIChtX2NoYW5nZUNvdW50ICE9IGNoYW5nZUNvdW50KCkpCiAgICAgICAgICAgICByZXR1cm4g
UmVhZGVyUmVzdWx0OjpQYXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVybmFsbHk7Ci0gICAgICAgIHJl
dHVybiBidWZmZXIgJiYgcmVhZGVyLnJlYWRJbWFnZShidWZmZXIucmVsZWFzZU5vbk51bGwoKSwg
dHlwZSkgPyBSZWFkZXJSZXN1bHQ6OlJlYWRUeXBlIDogUmVhZGVyUmVzdWx0OjpEaWROb3RSZWFk
VHlwZTsKKyAgICAgICAgcmV0dXJuIGJ1ZmZlciAmJiByZWFkZXIucmVhZEltYWdlKGJ1ZmZlci5y
ZWxlYXNlTm9uTnVsbCgpLCB0eXBlLCBpdGVtSW5mby5wcmVmZXJyZWRQcmVzZW50YXRpb25TaXpl
KSA/IFJlYWRlclJlc3VsdDo6UmVhZFR5cGUgOiBSZWFkZXJSZXN1bHQ6OkRpZE5vdFJlYWRUeXBl
OwogICAgIH0KIAogICAgIGlmIChbdHlwZSBpc0VxdWFsVG9TdHJpbmc6KF9fYnJpZGdlIE5TU3Ry
aW5nICopa1VUVHlwZVVSTF0pIHsKQEAgLTMxOCw3ICszMTgsNyBAQCB2b2lkIFBhc3RlYm9hcmQ6
OnJlYWQoUGFzdGVib2FyZFdlYkNvbnRlbnRSZWFkZXImIHJlYWRlciwgV2ViQ29udGVudFJlYWRp
bmdQb2xpYwogICAgICAgICAgICAgaWYgKCFpc1R5cGVBbGxvd2VkQnlSZWFkaW5nUG9saWN5KHR5
cGUsIHBvbGljeSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIGF1
dG8gaXRlbVJlc3VsdCA9IHJlYWRQYXN0ZWJvYXJkV2ViQ29udGVudERhdGFGb3JUeXBlKHJlYWRl
ciwgc3RyYXRlZ3ksIHR5cGUsIGkpOworICAgICAgICAgICAgYXV0byBpdGVtUmVzdWx0ID0gcmVh
ZFBhc3RlYm9hcmRXZWJDb250ZW50RGF0YUZvclR5cGUocmVhZGVyLCBzdHJhdGVneSwgdHlwZSwg
aW5mbywgaSk7CiAgICAgICAgICAgICBpZiAoaXRlbVJlc3VsdCA9PSBSZWFkZXJSZXN1bHQ6OlBh
c3RlYm9hcmRXYXNDaGFuZ2VkRXh0ZXJuYWxseSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAK
QEAgLTM1OCw3ICszNTgsNyBAQCB2b2lkIFBhc3RlYm9hcmQ6OnJlYWRSZXNwZWN0aW5nVVRJRmlk
ZWxpdGllcyhQYXN0ZWJvYXJkV2ViQ29udGVudFJlYWRlciYgcmVhZGVyLAogICAgICAgICAgICAg
aWYgKCFpc1R5cGVBbGxvd2VkQnlSZWFkaW5nUG9saWN5KHR5cGUsIHBvbGljeSkpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIHJlc3VsdCA9IHJlYWRQYXN0ZWJvYXJk
V2ViQ29udGVudERhdGFGb3JUeXBlKHJlYWRlciwgc3RyYXRlZ3ksIHR5cGUsIGluZGV4KTsKKyAg
ICAgICAgICAgIHJlc3VsdCA9IHJlYWRQYXN0ZWJvYXJkV2ViQ29udGVudERhdGFGb3JUeXBlKHJl
YWRlciwgc3RyYXRlZ3ksIHR5cGUsIGluZm8sIGluZGV4KTsKICAgICAgICAgICAgIGlmIChyZXN1
bHQgPT0gUmVhZGVyUmVzdWx0OjpQYXN0ZWJvYXJkV2FzQ2hhbmdlZEV4dGVybmFsbHkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgaWYgKHJlc3VsdCA9PSBSZWFkZXJSZXN1
bHQ6OlJlYWRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtUGFzdGVib2FyZElPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0
Zm9ybVBhc3RlYm9hcmRJT1MubW0KaW5kZXggYWZmMzVlZDVkZmMxMzExM2NhMjhmMThkNmYxOTYy
M2RhOWMyMjFkNS4uOGE4NmU0YTQwMDdkZDUwMzhlZmYzMDgwNTdmYzA3YmMyMjU5N2EyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtUGFzdGVib2FyZElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1QYXN0ZWJvYXJk
SU9TLm1tCkBAIC0xNTUsNiArMTU1LDggQEAgUGFzdGVib2FyZEl0ZW1JbmZvIFBsYXRmb3JtUGFz
dGVib2FyZDo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChpbnQgaW5kZXgpCiAjaWYgUEFTVEVC
T0FSRF9TVVBQT1JUU19QUkVTRU5UQVRJT05fU1RZTEVfQU5EX1RFQU1fREFUQQogICAgIGluZm8u
cHJlZmVycmVkUHJlc2VudGF0aW9uU3R5bGUgPSBwYXN0ZWJvYXJkSXRlbVByZXNlbnRhdGlvblN0
eWxlKGl0ZW1Qcm92aWRlci5wcmVmZXJyZWRQcmVzZW50YXRpb25TdHlsZSk7CiAjZW5kaWYKKyAg
ICBpZiAoIUNHU2l6ZUVxdWFsVG9TaXplKGl0ZW1Qcm92aWRlci5wcmVmZXJyZWRQcmVzZW50YXRp
b25TaXplLCBDR1NpemVaZXJvKSkKKyAgICAgICAgaW5mby5wcmVmZXJyZWRQcmVzZW50YXRpb25T
aXplID0gRmxvYXRTaXplIHsgaXRlbVByb3ZpZGVyLnByZWZlcnJlZFByZXNlbnRhdGlvblNpemUg
fTsKICAgICBpbmZvLmNvbnRhaW5zRmlsZVVSTEFuZEZpbGVVcGxvYWRDb250ZW50ID0gaXRlbVBy
b3ZpZGVyLndlYl9jb250YWluc0ZpbGVVUkxBbmRGaWxlVXBsb2FkQ29udGVudDsKICAgICBpbmZv
LnN1Z2dlc3RlZEZpbGVOYW1lID0gaXRlbVByb3ZpZGVyLnN1Z2dlc3RlZE5hbWU7CiAgICAgTlNB
cnJheTxOU1N0cmluZyAqPiAqcmVnaXN0ZXJlZFR5cGVJZGVudGlmaWVycyA9IGl0ZW1Qcm92aWRl
ci5yZWdpc3RlcmVkVHlwZUlkZW50aWZpZXJzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU0N2ExYjlkYzYwNDQxOWEwYWQyYTRiNmViOGI1YzMy
ZmUzZjEzNzAuLmRmNzM5M2I0ZTgzYWU2M2Q5NzA2MWM1NmM3YjJkNGFiNTBiMjcyMTEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxOS0wNS0yMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFtQYXN0ZV0gQWRkIHN1cHBvcnQgZm9yIHByZWZlcnJlZCBwcmVzZW50YXRpb24gc2l6ZSB3
aGVuIHBhc3RpbmcgYW4gaW1hZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5ODEzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTA4ODY5MTc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMubW06CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKwogMjAxOS0wNS0xNSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2V3cy1idWlsZF0gRW5hYmxpbmcgdXBsb2FkaW5nIEVXUyBhcmNo
aXZlcyB0byBTMwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVUlQ
YXN0ZWJvYXJkVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3Rl
Ym9hcmRUZXN0cy5tbQppbmRleCBiODc4MDY0NTRkYjk4ZTNmYTFmMTBlNDAxM2Q3ZDNlY2M5ZWY5
ZjJjLi4wZGE0NTBiZjE1ZDgxNmJjODYwOGMzMWYxMGYzM2MxZWUwZWRjNzIxIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQpAQCAt
MzAyLDYgKzMwMiw1MiBAQCBURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBEYXRhVHJhbnNmZXJVUklM
aXN0Q29udGFpbnNNdWx0aXBsZVVSTHMpCiAgICAgRVhQRUNUX1dLX1NUUkVRKCJodHRwczovL3d3
dy5hcHBsZS5jb20vIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInRl
eHREYXRhLnRleHRDb250ZW50Il0pOwogfQogCitURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBWYWxp
ZFByZWZlcnJlZFByZXNlbnRhdGlvblNpemVGb3JJbWFnZSkKK3sKKyAgICBhdXRvIHdlYlZpZXcg
PSBzZXRVcFdlYlZpZXdGb3JQYXN0ZWJvYXJkVGVzdHMoQCJhdXRvZm9jdXMtY29udGVudGVkaXRh
YmxlIik7CisgICAgYXV0byBpdGVtUHJvdmlkZXIgPSBhZG9wdE5TKFtbTlNJdGVtUHJvdmlkZXIg
YWxsb2NdIGluaXRdKTsKKyAgICBbaXRlbVByb3ZpZGVyIHNldFByZWZlcnJlZFByZXNlbnRhdGlv
blNpemU6Q0dTaXplTWFrZSgxMCwgMjApXTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0
YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KF9fYnJpZGdlIE5TU3RyaW5nICopa1VU
VHlwZVBORyB2aXNpYmlsaXR5Ok5TSXRlbVByb3ZpZGVyUmVwcmVzZW50YXRpb25WaXNpYmlsaXR5
QWxsIGxvYWRIYW5kbGVyOltdIChEYXRhTG9hZENvbXBsZXRpb25CbG9jayBjb21wbGV0aW9uSGFu
ZGxlcikgLT4gTlNQcm9ncmVzcyAqIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoW05TRGF0
YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNv
dXJjZTpAImljb24iIHdpdGhFeHRlbnNpb246QCJwbmciIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJL
aXRBUEkucmVzb3VyY2VzIl1dLCBuaWwpOworICAgICAgICByZXR1cm4gbmlsOworICAgIH1dOwor
ICAgIFtVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdLml0ZW1Qcm92aWRlcnMgPSBAWyBp
dGVtUHJvdmlkZXIuZ2V0KCkgXTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxdOworCisgICAgRVhQ
RUNUX1dLX1NUUkVRKCIxMCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6
QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWcnKS53aWR0aCJdKTsKKyAgICBFWFBFQ1RfV0tf
U1RSRVEoIjIwIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ2ltZycpLmhlaWdodCJdKTsKK30KKworVEVTVChVSVBhc3RlYm9h
cmRUZXN0cywgSW52YWxpZFByZWZlcnJlZFByZXNlbnRhdGlvblNpemVGb3JJbWFnZSkKK3sKKyAg
ICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXdGb3JQYXN0ZWJvYXJkVGVzdHMoQCJhdXRvZm9j
dXMtY29udGVudGVkaXRhYmxlIik7CisgICAgYXV0byBpdGVtUHJvdmlkZXIgPSBhZG9wdE5TKFtb
TlNJdGVtUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbaXRlbVByb3ZpZGVyIHNldFByZWZl
cnJlZFByZXNlbnRhdGlvblNpemU6Q0dTaXplTWFrZSgtMTAsIC0yMCldOworICAgIFtpdGVtUHJv
dmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRpZmllcjooX19icmlk
Z2UgTlNTdHJpbmcgKilrVVRUeXBlUE5HIHZpc2liaWxpdHk6TlNJdGVtUHJvdmlkZXJSZXByZXNl
bnRhdGlvblZpc2liaWxpdHlBbGwgbG9hZEhhbmRsZXI6W10gKERhdGFMb2FkQ29tcGxldGlvbkJs
b2NrIGNvbXBsZXRpb25IYW5kbGVyKSAtPiBOU1Byb2dyZXNzICogeworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZlVSTDpbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAiaWNvbiIgd2l0aEV4dGVuc2lvbjpAInBuZyIgc3ViZGly
ZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV0sIG5pbCk7CisgICAgICAgIHJldHVy
biBuaWw7CisgICAgfV07CisgICAgW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0uaXRl
bVByb3ZpZGVycyA9IEBbIGl0ZW1Qcm92aWRlci5nZXQoKSBdOworICAgIFt3ZWJWaWV3IHBhc3Rl
Om5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjAiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykud2lkdGgiXSk7
CisgICAgRVhQRUNUX1dLX1NUUkVRKCIxNzQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykuaGVpZ2h0Il0pOworfQor
CitURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBNaXNzaW5nUHJlZmVycmVkUHJlc2VudGF0aW9uU2l6
ZUZvckltYWdlKQoreworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0ZvclBhc3RlYm9h
cmRUZXN0cyhAImF1dG9mb2N1cy1jb250ZW50ZWRpdGFibGUiKTsKKyAgICBhdXRvIGl0ZW1Qcm92
aWRlciA9IGFkb3B0TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIFtpdGVt
UHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRpZmllcjooX19i
cmlkZ2UgTlNTdHJpbmcgKilrVVRUeXBlUE5HIHZpc2liaWxpdHk6TlNJdGVtUHJvdmlkZXJSZXBy
ZXNlbnRhdGlvblZpc2liaWxpdHlBbGwgbG9hZEhhbmRsZXI6W10gKERhdGFMb2FkQ29tcGxldGlv
bkJsb2NrIGNvbXBsZXRpb25IYW5kbGVyKSAtPiBOU1Byb2dyZXNzICogeworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZlVSTDpbW05TQnVuZGxlIG1h
aW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaWNvbiIgd2l0aEV4dGVuc2lvbjpAInBuZyIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV0sIG5pbCk7CisgICAgICAgIHJl
dHVybiBuaWw7CisgICAgfV07CisgICAgW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0u
aXRlbVByb3ZpZGVycyA9IEBbIGl0ZW1Qcm92aWRlci5nZXQoKSBdOworICAgIFt3ZWJWaWV3IHBh
c3RlOm5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjAiLCBbd2ViVmlldyBzdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykud2lkdGgi
XSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIxNzQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW1nJykuaGVpZ2h0Il0pOwor
fQogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>