<?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>236980</bug_id>
          
          <creation_ts>2022-02-21 09:10:25 -0800</creation_ts>
          <short_desc>[iOS] Adjust some behaviors around the &quot;Markup Image&quot; action in the callout bar</short_desc>
          <delta_ts>2022-02-21 20:06:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>hi</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844232</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-21 09:10:25 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844247</commentid>
    <comment_count>1</comment_count>
      <attachid>452742</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-21 09:52:13 -0800</bug_when>
    <thetext>Created attachment 452742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844422</commentid>
    <comment_count>2</comment_count>
      <attachid>452742</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2022-02-21 15:51:22 -0800</bug_when>
    <thetext>Comment on attachment 452742
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:100
&gt; +using namespace WebCore;

I think we prefer to avoid adding `using namespace` in new code, and it looks like you would just need to add prefixes to `contextMenuItemTitleMarkupImage()` below.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:317
&gt; +    [webView objectByEvaluatingJavaScript:@&quot;image = document.images[0]; getSelection().setBaseAndExtent(document.body, 0, image, 1);&quot;];

Nit: I find this easier to read without the `image` variable.

(if you prefer to keep it, could use `let` for consistency with line 297)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844433</commentid>
    <comment_count>3</comment_count>
      <attachid>452742</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-21 16:12:37 -0800</bug_when>
    <thetext>Comment on attachment 452742
Patch

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

Thanks for the review!

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:100
&gt;&gt; +using namespace WebCore;
&gt; 
&gt; I think we prefer to avoid adding `using namespace` in new code, and it looks like you would just need to add prefixes to `contextMenuItemTitleMarkupImage()` below.

👍🏻 Changed to just use `WebCore::` namespace prefixes.

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:317
&gt;&gt; +    [webView objectByEvaluatingJavaScript:@&quot;image = document.images[0]; getSelection().setBaseAndExtent(document.body, 0, image, 1);&quot;];
&gt; 
&gt; Nit: I find this easier to read without the `image` variable.
&gt; 
&gt; (if you prefer to keep it, could use `let` for consistency with line 297)

Good point — changed this to just `getSelection().setBaseAndExtent(document.body, 0, document.images[0], 1);`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844452</commentid>
    <comment_count>4</comment_count>
      <attachid>452800</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-21 16:51:24 -0800</bug_when>
    <thetext>Created attachment 452800
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844528</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-21 20:05:15 -0800</bug_when>
    <thetext>Committed r290286 (247610@main): &lt;https://commits.webkit.org/247610@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452800.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844529</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-21 20:06:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/89272083&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452742</attachid>
            <date>2022-02-21 09:52:13 -0800</date>
            <delta_ts>2022-02-21 16:51:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236980-20220221095212.patch</filename>
            <type>text/plain</type>
            <size>23267</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiOGQ4YTE1ZWQxZjg3MDc2NDI2ZWUz
OTRhMGMwMzAyOGYzMGEwZTUuLmY3MzU4NzA5ODMzZjE2ZmNmNjkyN2QzNDA1NjBkNWNlZGFhN2Y5
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMjEgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRqdXN0IHNvbWUgYmVoYXZpb3Jz
IGFyb3VuZCB0aGUgIk1hcmt1cCBJbWFnZSIgYWN0aW9uIGluIHRoZSBjYWxsb3V0IGJhcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2OTgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgV2ViS2l0
IGludGVybmFsIGZlYXR1cmUgZmxhZyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSAiTWFy
a3VwIEltYWdlIiBhbmQgcmVsYXRlZCAiQ29weSBDcm9wcGVkIEltYWdlIgorICAgICAgICBtZW51
IGl0ZW1zIHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUyBhbmQgbWFjT1MuIFRoaXMgZW5hYmxlcyB1
cyB0byB0ZXN0IHRoZXNlIGZlYXR1cmVzIGluIEFQSSBhbmQgbGF5b3V0IHRlc3RzCisgICAgICAg
IHdpdGhvdXQgcmVxdWlyaW5nIHRoZSBjb3JyZXNwb25kaW5nIHN5c3RlbSBmZWF0dXJlIGZsYWcg
dG8gYmUgZW5hYmxlZC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVy
ZW5jZXNJbnRlcm5hbC55YW1sOgorCiAyMDIyLTAyLTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBTYWZhcmkgY2FuIHNvbWV0aW1lcyBoYW5nIHdo
aWxlIHByaW50aW5nIGR1ZSB0byBzeW5jIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1ZmY0Yjk2MWEyZDMyMWQx
ZDMzZGNmZjg3MjczMGRmZTM1ZjZjZWZjLi41Njg4OWViNGE1NzYyMjlkY2ZjODA0MGI2NDZkODVi
OTgzMmZkY2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDIyLTAyLTIxICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkanVzdCBz
b21lIGJlaGF2aW9ycyBhcm91bmQgdGhlICJNYXJrdXAgSW1hZ2UiIGFjdGlvbiBpbiB0aGUgY2Fs
bG91dCBiYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjk4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkanVzdCB0aGUgZm9sbG93aW5nIGJlaGF2aW9ycyBhcm91bmQgdGhlICJNYXJrdXAgSW1hZ2Ui
IGNhbGxvdXQgYmFyIGl0ZW0gb24gaU9TOgorICAgICAgICAxLiAgVGhlIGl0ZW0gc2hvdWxkIGJl
IHByZXNlbnQgYXMgbG9uZyBhcyB0aGUgc2VsZWN0aW9uIHJhbmdlIGNvbnRhaW5zIGEgc2luZ2xl
IGltYWdlIGl0ZW0gKG5vdCBvbmx5IGlmIHRoZQorICAgICAgICAgICAgc2VsZWN0aW9uIHJhbmdl
IGV4YWN0bHkgZW5jb21wYXNzZXMgYSBzaW5nbGUgaW1hZ2UgZWxlbWVudC4KKyAgICAgICAgMi4g
IFRoZSBpdGVtIHNob3VsZCBhcHBlYXIgaW4gdGhlIGNhbGxvdXQgYmFyIGJlZm9yZSBvdGhlciBX
ZWJLaXQtY2xpZW50LXByb3ZpZGVkIG1lbnUgY29udHJvbGxlciBpdGVtcy4KKworICAgICAgICBU
aGlzIHBhdGNoIGFsc28gYWRkcyBhIG5ldyBBUEkgdGVzdCB0byBleGVyY2lzZSB0aGVzZSBiZWhh
dmlvcnMgYW5kLCBpbiBkb2luZyBzbywgYWxzbyByZWZhY3RvcnMgbG9naWMgYXJvdW5kCisgICAg
ICAgIGRldGVybWluaW5nIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhpcyBpdGVtIHNvIHRoYXQg
aXQncyBkZXBlbmRlbnQgb24gYSBXZWJLaXQgaW50ZXJuYWwgZmVhdHVyZSBpbnN0ZWFkIG9mIGp1
c3QKKyAgICAgICAgdGhlIHN5c3RlbSBmZWF0dXJlIGZsYWcgKHdpdGggdGhlIGRlZmF1bHQgdmFs
dWUgb2YgdGhlIGludGVybmFsIGZlYXR1cmUgYmVpbmcgZXF1YWwgdG8gd2hldGhlciBvciBub3Qg
dGhlIHN5c3RlbQorICAgICAgICBmZWF0dXJlIGlzIGVuYWJsZWQpLiBUaGlzIG1lYW5zIHdlIGNh
biBydW4gdGVzdHMgZm9yIHRoZXNlIGZlYXR1cmVzIHdpdGhvdXQgcmVxdWlyaW5nIHRoZSBzeXN0
ZW0gZmVhdHVyZSBmbGFnIHRvCisgICAgICAgIGJlIGVuYWJsZWQuCisKKyAgICAgICAgU2VlIGJl
bG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogSW1hZ2VBbmFseXNpc1Rlc3Rz
Lk1lbnVDb250cm9sbGVySXRlbXMKKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNv
Z25pdGlvblV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYktpdDo6bWFrZVRleHRSZWNvZ25pdGlv
blJlc3VsdCk6CisKKyAgICAgICAgRHJpdmUtYnkgZml4IGZvciBzb21lIEFQSSB0ZXN0czogb25s
eSBhdHRlbXB0IHRvIHNlbmQgdGhlIHBsYXRmb3JtIGltYWdlIGFuYWx5c2lzIHJlc3VsdCBvdmVy
IElQQyBpZiBpdCBpcyBhCisgICAgICAgIGBWS0NJbWFnZUFuYWx5c2lzYC4gSW4gc29tZSBBUEkg
dGVzdHMsIHdlIHVzZSBtb2NrIG9iamVjdHMgaGVyZSBpbnN0ZWFkLCB3aGljaCBjdXJyZW50bHkg
Y2F1c2VzIHRoZSBJUEMgbWVzc2FnZQorICAgICAgICBzZW5kIHRvIGZhaWwgZHVlIHRvIGVuY29k
aW5nIGZhaWx1cmUuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRJbWFnZUFuYWx5c2lz
TWFya3VwRW5hYmxlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5oOgorCisgICAgICAgIE1ha2UgdGhlIG5ldyBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZGVm
YXVsdCB0byB0aGUgc3lzdGVtIGZlYXR1cmUgZmxhZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tB
Y3Rpb25TaGVldEFzc2lzdGFudC5tbToKKyAgICAgICAgKC1bV0tBY3Rpb25TaGVldEFzc2lzdGFu
dCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDpdKToKKyAgICAgICAgKC1bV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCBkZWZhdWx0QWN0aW9uc0ZvckltYWdlU2hlZXQ6XSk6CisKKyAgICAgICAgQ29u
c3VsdCBhIG5ldyBkZWxlZ2F0ZSBtZXRob2QgKGAtYWN0aW9uU2hlZXRBc3Npc3RhbnRTaG91bGRJ
bmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjpgKSBpbnN0ZWFkIG9mIGNoZWNraW5nCisgICAg
ICAgIHRoZSBzeXN0ZW0gZmVhdHVyZSBmbGFnIGRpcmVjdGx5LgorCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgdXBkYXRlSW1hZ2VBbmFseXNpc01hcmt1cE1lbnVJdGVtczpdKToKKworICAgICAgICBB
cHBlbmQgdGhlICJNYXJrdXAgSW1hZ2UiIGl0ZW0gYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaXN0IG9m
IGFkZGl0aW9uYWwgbWVudSBpdGVtcy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNhblBl
cmZvcm1JbWFnZUFuYWx5c2lzTWFya3VwXSk6CisKKyAgICAgICAgQ2hlY2sgdGhlIGludGVybmFs
IGZlYXR1cmUgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIGZlYXR1cmUgZmxhZy4KKworICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHBlcmZvcm1JbWFnZUFuYWx5c2lzTWFya3VwOl0pOgorCisgICAgICAg
IE5vdyB0aGF0IHRoaXMgYWN0aW9uIGNhbiBiZSB0cmlnZ2VyZWQgZXZlbiB3aGVuIHRoZSBjdXJy
ZW50IHNlbGVjdGlvbiBkb2Vucyd0IGVuY29tcGFzcyBvbmx5IGEgc2luZ2xlIGltYWdlLCB3ZQor
ICAgICAgICBuZWVkIHRvIHVzZSBgcmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YSgpYCBpbnN0ZWFk
LCBwYXNzaW5nIGluIHRoZSBlbGVtZW50IGNvbnRleHQgb2YgdGhlIGltYWdlIGVsZW1lbnQgd2Ug
d2FudAorICAgICAgICB0byByZXBsYWNlLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgYWN0
aW9uU2hlZXRBc3Npc3RhbnRTaG91bGRJbmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjpdKToK
KworICAgICAgICBPbmx5IGF0dGVtcHQgdG8gc2hvdyB0aGUgbmV3IGl0ZW1zIGlmIHRoZSBpbnRl
cm5hbCBmZWF0dXJlIGlzIGVuYWJsZWQuIENvbnN1bHRlZCBieSBgV0tBY3Rpb25TaGVldEFzc2lz
dGFudGAKKyAgICAgICAgYWJvdmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlN
YWM6OnNldHVwU2VydmljZXNNZW51KToKKworICAgICAgICBDaGVjayB0aGUgaW50ZXJuYWwgZmVh
dHVyZSBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlIGNvbnN0KToKKworICAgICAgICBNYWtlIGEgbWlu
b3IgYWRqdXN0bWVudCBoZXJlIHRvIGJhaWwgZWFybHkgb25seSBpZiB3ZSBmaW5kIG11bHRpcGxl
IGltYWdlIGVsZW1lbnRzIGluIHRoZSBzZWxlY3RlZCByYW5nZSwKKyAgICAgICAgcmF0aGVyIHRo
YW4gYmFpbGluZyBpZiB3ZSBmaW5kIGFueXRoaW5nIHRoYXQncyBub3QgYW4gaW1hZ2UgZWxlbWVu
dC4KKwogMjAyMi0wMi0yMCAgQnJhbmRvbiBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdhcnRAYXBwbGUu
Y29tPgogCiAgICAgICAgIEdlbmVyYXRlIGNvbXBpbGVfY29tbWFuZHMuanNvbiBvbiBtYWNPUyBC
dWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAxYjJmNWU2YjgxYThmMGY0MDcyMDkyZDk1
OTE4Njk3MzYwZWYxNWUuLjc1YmYzN2Y3NjRhOTA3NzMzZWNiMzA4OTc5OWFmZWNiM2E3YzAyMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMzY5LDYgKzM2OSwyMCBAQCBJUENUZXN0aW5nQVBJ
RW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitJbWFnZUFuYWx5
c2lzTWFya3VwRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIklt
YWdlIGFuYWx5c2lzIG1hcmt1cCIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxl
IGltYWdlIGFuYWx5c2lzIG1hcmt1cCIKKyAgY29uZGl0aW9uOiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCisgIGV4cG9zZWQ6IFsgV2ViS2l0IF0KKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6
CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6
IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZGVmYXVsdEltYWdlQW5hbHlzaXNN
YXJrdXBFbmFibGVkKCkKKwogSW1hZ2VBbmFseXNpc1F1ZXVlRW5hYmxlZDoKICAgdHlwZTogYm9v
bAogICBodW1hblJlYWRhYmxlTmFtZTogIkltYWdlIGFuYWx5c2lzIHF1ZXVlIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGll
cy5tbQppbmRleCAxYTlkNzk0ZWU4YjM4YjhlZGNmZTc4NzhlOTA2MzlkODM3MjQ0ZGVmLi44OGQ4
NWExMTVhNDUxYTIxMzZlNmM0MDQxZWFhMDFhNGQ0MDNmNTlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQpA
QCAtMTI4LDcgKzEyOCw4IEBAIFRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29nbml0
aW9uUmVzdWx0KENvY29hSW1hZ2VBbmFseXNpcyAqYW5hbHlzaXMpCiAjZW5kaWYgLy8gRU5BQkxF
KERBVEFfREVURUNUSU9OKQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5U
UykKLSAgICByZXN1bHQucGxhdGZvcm1EYXRhID0geyBSZXRhaW5QdHIgeyBhbmFseXNpcyB9IH07
CisgICAgaWYgKFthbmFseXNpcyBpc0tpbmRPZkNsYXNzOlBBTDo6Z2V0VktDSW1hZ2VBbmFseXNp
c0NsYXNzKCldKQorICAgICAgICByZXN1bHQucGxhdGZvcm1EYXRhID0gYW5hbHlzaXM7CiAjZW5k
aWYKIAogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tCmluZGV4
IDY5OTVkMjIxMmE4ZTAxOGFiZjcyZGQxMDY0MTVkOTQ3NmE1ZDM4OWIuLjgxOTdiNzI0OGQyMmUz
NGVhYzY0MGU4ZDk0MTQ1YmMzOTEwMWJiNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1t
CkBAIC04NCw2ICs4NCwxNCBAQCBib29sIGRlZmF1bHRJbWFnZUFuYWx5c2lzUXVldWVFbmFibGVk
KCkKICAgICByZXR1cm4gaW1hZ2VBbmFseXNpc1F1ZXVlU3lzdGVtRmVhdHVyZUVuYWJsZWQoKTsK
IH0KIAorYm9vbCBkZWZhdWx0SW1hZ2VBbmFseXNpc01hcmt1cEVuYWJsZWQoKQoreworICAgIC8v
IEZJWE1FOiBUaGUgaXMtIHByZWZpeCBvbiB0aGlzIGhlbHBlciBtZXRob2QgaXMgaW5jb25zaXN0
ZW50IHdpdGggdGhlIGFkamFjZW50IHN5c3RlbQorICAgIC8vIGZlYXR1cmUgZmxhZyBjaGVja3Mu
IFRoaXMgd2lsbCBiZSBmaXhlZCB1cG9uIHVwc3RyZWFtaW5nIHRoZSBjb2RlIGZyb20gV2ViS2l0
QWRkaXRpb25zLAorICAgIC8vIHdoZW4gdGhlc2UgaGVscGVyIG1ldGhvZHMgd2lsbCBiZSByZW1v
dmVkIGVudGlyZWx5LgorICAgIHJldHVybiBpc0ltYWdlQW5hbHlzaXNNYXJrdXBTeXN0ZW1GZWF0
dXJlRW5hYmxlZCgpOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggOGRjOGQyMTkwYzg3NzVmYjJlZjJjMDFjNzFk
MWYxNzg2NGMzZTYyYS4uMWEyMGJlNjkyMDUzM2VlNjM1YWYxN2NjNzZmNDY5OTQ2YWRjN2ZjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKQEAgLTExOCw2ICsxMTgsNyBAQCBib29sIGRlZmF1bHRTY3JlZW5DYXB0dXJlS2l0RW5h
YmxlZCgpOwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIGJvb2wgZGVmYXVsdFRleHRSZWNv
Z25pdGlvbkVuaGFuY2VtZW50c0VuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdEltYWdlQW5hbHlzaXNR
dWV1ZUVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdEltYWdlQW5hbHlzaXNNYXJrdXBFbmFibGVkKCk7
CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaAppbmRleCBlOTNiZjZlN2Vl
ZmIwNjYyMzI5MGUxOTNmNWQ5MjMwMjdmZTlhMTQ1Li45NWVhOGJlNDEzZjNmYTJiOTc4ZThmZmNj
YmZjYmI5OGJhYjdjMjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0FjdGlvblNoZWV0QXNzaXN0YW50LmgKQEAgLTg2LDYgKzg2LDcgQEAgdHlwZWRlZiBOU19F
TlVNKE5TSW50ZWdlciwgX1dLRWxlbWVudEFjdGlvblR5cGUpOwogLSAodm9pZClhY3Rpb25TaGVl
dEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBsb29rVXBJbWFn
ZTooVUlJbWFnZSAqKWltYWdlIGltYWdlVVJMOihOU1VSTCAqKWltYWdlVVJMIHRpdGxlOihOU1N0
cmluZyAqKXRpdGxlIGltYWdlQm91bmRzOihDR1JlY3QpaW1hZ2VCb3VuZHM7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorLSAoQk9PTClhY3Rpb25TaGVl
dEFzc2lzdGFudFNob3VsZEluY2x1ZGVDb3B5Q3JvcHBlZEltYWdlQWN0aW9uOihXS0FjdGlvblNo
ZWV0QXNzaXN0YW50ICopYXNzaXN0YW50OwogLSAodm9pZClhY3Rpb25TaGVldEFzc2lzdGFudDoo
V0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBjb3B5Q3JvcHBlZEltYWdlOihVSUlt
YWdlICopaW1hZ2Ugc291cmNlTUlNRVR5cGU6KE5TU3RyaW5nICopc291cmNlTUlNRVR5cGU7CiAj
ZW5kaWYKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fj
dGlvblNoZWV0QXNzaXN0YW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0
aW9uU2hlZXRBc3Npc3RhbnQubW0KaW5kZXggYzlhZTFhNjY3NzcxYjI2MTA5NTg1NGVhZTU5ZTI4
NWFiNzUyZjY3Yi4uY2M0MmJmOWZhZDcxMzQ5ODMzNTBiMjc5NDMxZTY4Mzk2N2IyZTA4MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Np
c3RhbnQubW0KQEAgLTU1NSw3ICs1NTUsNyBAQCBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19FTkQKIAogICAgIGlmIChlbGVtZW50SW5mby50eXBlID09IF9XS0FjdGl2YXRlZEVsZW1lbnRU
eXBlSW1hZ2UgfHwgW2VsZW1lbnRJbmZvIGltYWdlXSkgewogI2lmIEVOQUJMRShJTUFHRV9BTkFM
WVNJU19FTkhBTkNFTUVOVFMpCi0gICAgICAgIGlmIChXZWJLaXQ6OmlzSW1hZ2VBbmFseXNpc01h
cmt1cFN5c3RlbUZlYXR1cmVFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKFtfZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudFNob3VsZEluY2x1
ZGVDb3B5Q3JvcHBlZEltYWdlQWN0aW9uOildICYmIFtfZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Np
c3RhbnRTaG91bGRJbmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjpzZWxmXSkgewogICAgICAg
ICAgICAgLy8gRklYTUUgKHJkYXI6Ly84ODgzNDMwNCk6IFRoaXMgc2hvdWxkIGJlIGFkZGl0aW9u
YWxseSBnYXRlZCBvbiB0aGUgcmVsZXZhbnQgVmlzaW9uS2l0IFNQSS4KICAgICAgICAgICAgIFtk
ZWZhdWx0QWN0aW9ucyBhZGRPYmplY3Q6W19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25X
aXRoVHlwZTpfV0tFbGVtZW50QWN0aW9uVHlwZUNvcHlDcm9wcGVkSW1hZ2UgYXNzaXN0YW50OnNl
bGZdXTsKICAgICAgICAgfQpAQCAtNTkxLDcgKzU5MSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0VORAogCiAgICAgW2RlZmF1bHRBY3Rpb25zIGFkZE9iamVjdDpbX1dLRWxlbWVu
dEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25UeXBlQ29weSBh
c3Npc3RhbnQ6c2VsZl1dOwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMp
Ci0gICAgaWYgKFdlYktpdDo6aXNJbWFnZUFuYWx5c2lzTWFya3VwU3lzdGVtRmVhdHVyZUVuYWJs
ZWQoKSkgeworICAgIGlmIChbX2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
YWN0aW9uU2hlZXRBc3Npc3RhbnRTaG91bGRJbmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjop
XSAmJiBbX2RlbGVnYXRlIGFjdGlvblNoZWV0QXNzaXN0YW50U2hvdWxkSW5jbHVkZUNvcHlDcm9w
cGVkSW1hZ2VBY3Rpb246c2VsZl0pIHsKICAgICAgICAgLy8gRklYTUUgKHJkYXI6Ly84ODgzNDMw
NCk6IFRoaXMgc2hvdWxkIGJlIGFkZGl0aW9uYWxseSBnYXRlZCBvbiB0aGUgcmVsZXZhbnQgVmlz
aW9uS2l0IFNQSS4KICAgICAgICAgW2RlZmF1bHRBY3Rpb25zIGFkZE9iamVjdDpbX1dLRWxlbWVu
dEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25UeXBlQ29weUNy
b3BwZWRJbWFnZSBhc3Npc3RhbnQ6c2VsZl1dOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDA5
ODIzZThlNTA5Y2I4ZjQ5NWE0OGNiMWFlMDcyNmIyOWZmNjk3NDkuLjNjYjg4MDFiNTAyMDdkYmUx
ZDM3YTg5MmM1ZWNkNDU5ODU1ZThjNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDY5NywxNiArNDY5
NywxOCBAQCBzdGF0aWMgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoKFdLQ29udGVudFZp
ZXcgKnZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaQogewogICAgIGF1dG8gY3VycmVudEl0ZW0g
PSBmaW5kTWVudUl0ZW1XaXRoQWN0aW9uKHVwZGF0ZWRJdGVtcywgQHNlbGVjdG9yKHBlcmZvcm1J
bWFnZUFuYWx5c2lzTWFya3VwOikpOwogICAgIGF1dG8mIGVkaXRvclN0YXRlID0gX3BhZ2UtPmVk
aXRvclN0YXRlKCk7Ci0gICAgaWYgKCFXZWJLaXQ6OmlzSW1hZ2VBbmFseXNpc01hcmt1cFN5c3Rl
bUZlYXR1cmVFbmFibGVkKCkgfHwgIXNlbGYud2luZG93IHx8IGVkaXRvclN0YXRlLmlzTWlzc2lu
Z1Bvc3RMYXlvdXREYXRhIHx8ICFlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLnNlbGVjdGVk
RWRpdGFibGVJbWFnZSkgeworICAgIGlmICghX3BhZ2UtPnByZWZlcmVuY2VzKCkuaW1hZ2VBbmFs
eXNpc01hcmt1cEVuYWJsZWQoKSB8fCAhc2VsZi53aW5kb3cgfHwgZWRpdG9yU3RhdGUuaXNNaXNz
aW5nUG9zdExheW91dERhdGEgfHwgIWVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRhKCkuc2VsZWN0
ZWRFZGl0YWJsZUltYWdlKSB7CiAgICAgICAgIGlmIChjdXJyZW50SXRlbSkKICAgICAgICAgICAg
IFt1cGRhdGVkSXRlbXMgcmVtb3ZlT2JqZWN0OmN1cnJlbnRJdGVtXTsKLSAgICB9IGVsc2UgaWYg
KCFjdXJyZW50SXRlbSkKLSAgICAgICAgW3VwZGF0ZWRJdGVtcyBhZGRPYmplY3Q6YWRvcHROUyhb
W1VJTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0bGU6V2ViQ29yZTo6Y29udGV4dE1lbnVJdGVt
VGl0bGVNYXJrdXBJbWFnZSgpIGFjdGlvbjpAc2VsZWN0b3IocGVyZm9ybUltYWdlQW5hbHlzaXNN
YXJrdXA6KV0pLmdldCgpXTsKKyAgICB9IGVsc2UgaWYgKCFjdXJyZW50SXRlbSkgeworICAgICAg
ICBhdXRvIGl0ZW0gPSBhZG9wdE5TKFtbVUlNZW51SXRlbSBhbGxvY10gaW5pdFdpdGhUaXRsZTpX
ZWJDb3JlOjpjb250ZXh0TWVudUl0ZW1UaXRsZU1hcmt1cEltYWdlKCkgYWN0aW9uOkBzZWxlY3Rv
cihwZXJmb3JtSW1hZ2VBbmFseXNpc01hcmt1cDopXSk7CisgICAgICAgIFt1cGRhdGVkSXRlbXMg
aW5zZXJ0T2JqZWN0Oml0ZW0uZ2V0KCkgYXRJbmRleDowXTsKKyAgICB9CiB9CiAKIC0gKEJPT0wp
Y2FuUGVyZm9ybUltYWdlQW5hbHlzaXNNYXJrdXAKIHsKLSAgICBpZiAoIVdlYktpdDo6aXNJbWFn
ZUFuYWx5c2lzTWFya3VwU3lzdGVtRmVhdHVyZUVuYWJsZWQoKSkKKyAgICBpZiAoIV9wYWdlIHx8
ICFfcGFnZS0+cHJlZmVyZW5jZXMoKS5pbWFnZUFuYWx5c2lzTWFya3VwRW5hYmxlZCgpKQogICAg
ICAgICByZXR1cm4gTk87CiAKICAgICBpZiAoIV9pbWFnZUFuYWx5c2lzTWFya3VwRGF0YSkKQEAg
LTQ3MjMsNyArNDcyNSw3IEBAIHN0YXRpYyB2b2lkIHNlbGVjdGlvbkNoYW5nZWRXaXRoVG91Y2go
V0tDb250ZW50VmlldyAqdmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pCiAKICAgICBhdXRvIFtl
bGVtZW50Q29udGV4dCwgaW1hZ2UsIHByZWZlcnJlZE1JTUVUeXBlXSA9ICpfaW1hZ2VBbmFseXNp
c01hcmt1cERhdGE7CiAgICAgaWYgKGF1dG8gW2RhdGEsIHR5cGVdID0gV2ViS2l0Ojp0cmFuc2Nv
ZGVXaXRoUHJlZmVycmVkTUlNRVR5cGUoaW1hZ2UuZ2V0KCksIHByZWZlcnJlZE1JTUVUeXBlLmNy
ZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZilVVFR5cGVUSUZGLmlk
ZW50aWZpZXIpOyBkYXRhKQotICAgICAgICBfcGFnZS0+cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0
ZWJvYXJkRGF0YSh7IFN0cmluZyB7IHR5cGUuZ2V0KCkgfSB9LCB7IHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPihbZGF0YSBieXRlc10pLCBbZGF0YSBsZW5ndGhdIH0pOworICAgICAgICBfcGFn
ZS0+cmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YShlbGVtZW50Q29udGV4dCwgeyBTdHJpbmcgeyB0
eXBlLmdldCgpIH0gfSwgeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oW2RhdGEgYnl0ZXNd
KSwgW2RhdGEgbGVuZ3RoXSB9KTsKIH0KIAogLSAodm9pZClkb0FmdGVyQ29tcHV0aW5nSW1hZ2VB
bmFseXNpc1Jlc3VsdHNGb3JNYXJrdXA6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiljb21w
bGV0aW9uCkBAIC0xMDkwMCw2ICsxMDkwMiwxMSBAQCBzdGF0aWMgUmV0YWluUHRyPE5TSXRlbVBy
b3ZpZGVyPiBjcmVhdGVJdGVtUHJvdmlkZXIoY29uc3QgV2ViS2l0OjpXZWJQYWdlUHJveHkmCiAK
ICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQogCistIChCT09MKWFjdGlv
blNoZWV0QXNzaXN0YW50U2hvdWxkSW5jbHVkZUNvcHlDcm9wcGVkSW1hZ2VBY3Rpb246KFdLQWN0
aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQKK3sKKyAgICByZXR1cm4gX3BhZ2UtPnByZWZl
cmVuY2VzKCkuaW1hZ2VBbmFseXNpc01hcmt1cEVuYWJsZWQoKTsKK30KKwogLSAodm9pZClhY3Rp
b25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBjb3B5
Q3JvcHBlZEltYWdlOihVSUltYWdlICopaW1hZ2Ugc291cmNlTUlNRVR5cGU6KE5TU3RyaW5nICop
c291cmNlTUlNRVR5cGUKIHsKICAgICBhdXRvIGNoYW5nZUNvdW50ID0gVUlQYXN0ZWJvYXJkLmdl
bmVyYWxQYXN0ZWJvYXJkLmNoYW5nZUNvdW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQppbmRleCBjYWQ5OWIyNzRmYjkw
ZGJkMGRjMDA4MjIyNDUxNDBlZWE2NjY3ZjgyLi4yYjIwMjNjODVjZTAyNzgxYzcxZGYyMTljZDgw
ODE3NTIwMzdlNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2Vi
Q29udGV4dE1lbnVQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
V2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQpAQCAtMjcxLDcgKzI3MSw3IEBAIHZvaWQgV2ViQ29u
dGV4dE1lbnVQcm94eU1hYzo6c2V0dXBTZXJ2aWNlc01lbnUoKQogICAgIGlmICghaGFzQ29udHJv
bGxlZEltYWdlKQogICAgICAgICBbbV9tZW51IHNldFNob3dzU3RhdGVDb2x1bW46WUVTXTsKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQotICAgIGVsc2UgaWYgKGlzSW1h
Z2VBbmFseXNpc01hcmt1cFN5c3RlbUZlYXR1cmVFbmFibGVkKCkpIHsKKyAgICBlbHNlIGlmIChw
YWdlKCktPnByZWZlcmVuY2VzKCkuaW1hZ2VBbmFseXNpc01hcmt1cEVuYWJsZWQoKSkgewogICAg
ICAgICBhdXRvIG1hcmt1cEltYWdlSXRlbSA9IGFkb3B0TlMoW1tOU01lbnVJdGVtIGFsbG9jXSBp
bml0V2l0aFRpdGxlOmNvbnRleHRNZW51SXRlbVRpdGxlTWFya3VwSW1hZ2UoKSBhY3Rpb246QHNl
bGVjdG9yKG1hcmt1cEltYWdlKSBrZXlFcXVpdmFsZW50OkAiIl0pOwogICAgICAgICBbbWFya3Vw
SW1hZ2VJdGVtIHNldEltYWdlOltOU0ltYWdlIGltYWdlV2l0aFN5c3RlbVN5bWJvbE5hbWU6QCJw
ZXJzb24uZmlsbC52aWV3ZmluZGVyIiBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb246Y29udGV4dE1l
bnVJdGVtVGl0bGVNYXJrdXBJbWFnZSgpXV07CiAgICAgICAgIFttYXJrdXBJbWFnZUl0ZW0gc2V0
VGFyZ2V0OldLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5zaGFyZWRTaGFyaW5nU2Vydmlj
ZVBpY2tlckRlbGVnYXRlXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggYWQxOWM3YWE2ZDQxMjk1ZWExODk0OGQ3NzY3YWJj
Y2E2Y2JiYWRhZi4uNGZiODBhNjNjYmMwNjdmNjM5MDY5N2Q0M2VkMDY0MzkwNzkzODRhYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KQEAgLTMyOCwxMyArMzI4LDE2IEBAIHZvaWQgV2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JT
dGF0ZShGcmFtZSYgZnJhbWUsIEVkaXRvclN0YXRlJiByZXN1bHQpIGNvbnN0CiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBmb3VuZEltYWdlOwogCiAgICAgICAgICAgICAgICAgZm9yIChUZXh0
SXRlcmF0b3IgaXRlcmF0b3IgeyAqc2VsZWN0ZWRSYW5nZSwgeyB9IH07ICFpdGVyYXRvci5hdEVu
ZCgpOyBpdGVyYXRvci5hZHZhbmNlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBpbWFn
ZUVsZW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oaXRlcmF0b3Iubm9k
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFpbWFnZUVsZW1lbnQpCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgICAgICAgICBpZiAoZm91bmRJ
bWFnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbWFnZSA9IG51bGxwdHI7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICBmb3VuZEltYWdlID0gZHluYW1pY0Rvd25jYXN0PEhUTUxJbWFnZUVs
ZW1lbnQ+KGl0ZXJhdG9yLm5vZGUoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghZm91bmRJ
bWFnZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAg
ICAgIGZvdW5kSW1hZ2UgPSBpbWFnZUVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIHJldHVybiBmb3VuZEltYWdlOwogICAgICAgICAgICAgfTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMGI0YTRlNTQxODY3NmE1
MTljZTYyYjEwMjQ2ZmU4N2VhMDMzNTNlLi43NDg3ZjYxNjY0NzJkNmM1NWQwODQ5ODliOTI3NWM2
Mjk4MDMzOTBjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjItMDItMjEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRqdXN0IHNvbWUgYmVoYXZpb3JzIGFy
b3VuZCB0aGUgIk1hcmt1cCBJbWFnZSIgYWN0aW9uIGluIHRoZSBjYWxsb3V0IGJhcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2OTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0ZXN0
IHRvIHZlcmlmeSB0aGF0ICJNYXJrdXAgSW1hZ2UiIGFwcGVhcnMgYXMgdGhlIGZpcnN0IG5vbi1k
ZWZhdWx0IGNhbGxvdXQgYmFyIGl0ZW0gd2hlbiBhIHNpbmdsZQorICAgICAgICBpbWFnZSBlbGVt
ZW50IGlzIGluIHRoZSBzZWxlY3Rpb24gcmFuZ2UuIFRoZSB0ZXN0IGlzIGNvbXByaXNlZCBvZiB0
aHJlZSBwYXJ0czoKKworICAgICAgICAxLiBTZWxlY3QganVzdCBhIHNpbmdsZSBpbWFnZSwgYW5k
IGV4cGVjdCB0aGUgIk1hcmt1cCBJbWFnZSIgaXRlbS4KKyAgICAgICAgMi4gU2VsZWN0IGFsbCBp
bWFnZXMgaW4gdGhlIGRvY3VtZW50LCBhbmQgZXhwZWN0IG5vICJNYXJrdXAgSW1hZ2UiIGl0ZW0u
CisgICAgICAgIDMuIFNlbGVjdCBhIHNpbmdsZSBpbWFnZSBhbmQgc29tZSBzdXJyb3VuZGluZyB0
ZXh0LCBhbmQgZXhwZWN0IHRoZSAiTWFya3VwIEltYWdlIiBpdGVtLgorCisgICAgICAgIFNlZSBX
ZWJLaXQvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OmNyZWF0ZVdlYlZpZXdXaXRoVGV4dFJlY29nbml0aW9uRW5oYW5jZW1lbnRz
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnN3aXp6bGVkU2V0TWVudUl0ZW1zKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvbXVsdGlwbGUtaW1hZ2VzLmh0bWw6CisKKyAgICAgICAgQWRkIHNvbWUgdGV4
dCBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggaW1hZ2Ugc28gdGhhdCB3ZSBjYW4gc2VsZWN0IGEgc2lu
Z2xlIGltYWdlIGFsb25nc2lkZSBzb21lIHRleHQsIGFuZCBleGVyY2lzZQorICAgICAgICB0aGUg
Y2hhbmdlcyBpbiBgV2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JTdGF0ZWAgKHNlZSBXZWJLaXQg
Y2hhbmdlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbikuCisKIDIwMjItMDItMjAgIEJyYW5kb24gU3Rl
d2FydCAgPGJyYW5kb25zdGV3YXJ0QGFwcGxlLmNvbT4KIAogICAgICAgICBHZW5lcmF0ZSBjb21w
aWxlX2NvbW1hbmRzLmpzb24gb24gbWFjT1MgQnVpbGRzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCmlu
ZGV4IDRiZWVjZjMwOTQzYmRlY2FkOTJkZGYwMWVjM2RkZTYzOWZhZGEwNzEuLmU5ZTllNTFmYzJl
NTQ4NGRhNmU4MzQ4ZTgxODg4N2MzOGQyZTJkNzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCkBA
IC0zMCw4ICszMCwxMCBAQAogI2ltcG9ydCAiSW1hZ2VBbmFseXNpc1Rlc3RpbmdVdGlsaXRpZXMu
aCIKICNpbXBvcnQgIkluc3RhbmNlTWV0aG9kU3dpenpsZXIuaCIKICNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0SW5wdXREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiVGVz
dFdLV2ViVmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkV4dHJhcy5oIgor
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0
aW5nLmg+CiAjaW1wb3J0IDxwYWwvY29jb2EvVmlzaW9uS2l0Q29yZVNvZnRMaW5rLmg+CkBAIC05
NSw2ICs5Nyw3IEBAIHN0YXRpYyBDR1BvaW50IHN3aXp6bGVkTG9jYXRpb25JblZpZXcoaWQsIFNF
TCwgVUlWaWV3ICopCiBAZW5kCiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgVmVjdG9yPFJldGFpblB0cjxWS0ltYWdlQW5hbHl6
ZXJSZXF1ZXN0Pj4mIHByb2Nlc3NlZFJlcXVlc3RzKCkKIHsKQEAgLTEwNiwxMCArMTA5LDkgQEAg
c3RhdGljIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiBjcmVhdGVXZWJWaWV3V2l0aFRleHRSZWNv
Z25pdGlvbkVuaGFuY2VtZW50cygpCiB7CiAgICAgUmV0YWluUHRyIGNvbmZpZ3VyYXRpb24gPSBb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5D
bGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9y
VGVzdGluZzpZRVNdOwogICAgIGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUg
aW4gV0tQcmVmZXJlbmNlcy5faW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7Ci0gICAgICAgIGlmIChb
ZmVhdHVyZS5rZXkgaXNFcXVhbFRvU3RyaW5nOkAiVGV4dFJlY29nbml0aW9uRW5oYW5jZW1lbnRz
RW5hYmxlZCJdKSB7CisgICAgICAgIE5TU3RyaW5nICprZXkgPSBmZWF0dXJlLmtleTsKKyAgICAg
ICAgaWYgKFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAiVGV4dFJlY29nbml0aW9uRW5oYW5jZW1lbnRz
RW5hYmxlZCJdIHx8IFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAiSW1hZ2VBbmFseXNpc1F1ZXVlRW5h
YmxlZCJdIHx8IFtrZXkgaXNFcXVhbFRvU3RyaW5nOkAiSW1hZ2VBbmFseXNpc01hcmt1cEVuYWJs
ZWQiXSkKICAgICAgICAgICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJs
ZWQ6WUVTIGZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3Vy
YXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogfQpAQCAtMjYwLDYgKzI2Miw2NiBAQCBURVNU
KEltYWdlQW5hbHlzaXNUZXN0cywgSW1hZ2VBbmFseXNpc1ByaW9yaXRpemVzVmlzaWJsZUltYWdl
cykKICAgICBFWFBFQ1RfRVEoNDUwVSwgQ0dJbWFnZUdldEhlaWdodChsYXN0UmVxdWVzdGVkSW1h
Z2UpKTsKIH0KIAorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpICYmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisKK3N0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNB
cnJheTxVSU1lbnVJdGVtICo+Pj4gZ1N3aXp6bGVkTWVudUl0ZW1zOworc3RhdGljIHZvaWQgc3dp
enpsZWRTZXRNZW51SXRlbXMoaWQsIFNFTCwgTlNBcnJheTxVSU1lbnVJdGVtICo+ICppdGVtcykK
K3sKKyAgICBnU3dpenpsZWRNZW51SXRlbXMuZ2V0KCkgPSBpdGVtczsKK30KKworc3RhdGljIE5T
QXJyYXk8VUlNZW51SXRlbSAqPiAqc3dpenpsZWRNZW51SXRlbXMoaWQsIFNFTCkKK3sKKyAgICBy
ZXR1cm4gZ1N3aXp6bGVkTWVudUl0ZW1zLmdldCgpLmdldCgpOworfQorCitURVNUKEltYWdlQW5h
bHlzaXNUZXN0cywgTWVudUNvbnRyb2xsZXJJdGVtcykKK3sKKyAgICBhdXRvIHNoYXJlZE1lbnVD
b250cm9sbGVyID0gVUlNZW51Q29udHJvbGxlci5zaGFyZWRNZW51Q29udHJvbGxlcjsKKyAgICBJ
bnN0YW5jZU1ldGhvZFN3aXp6bGVyIG1lbnVJdGVtc1N3aXp6bGVyIHsgc2hhcmVkTWVudUNvbnRy
b2xsZXIuY2xhc3MsIEBzZWxlY3RvcihtZW51SXRlbXMpLCByZWludGVycHJldF9jYXN0PElNUD4o
c3dpenpsZWRNZW51SXRlbXMpIH07CisgICAgSW5zdGFuY2VNZXRob2RTd2l6emxlciBzZXRNZW51
SXRlbXNTd2l6emxlciB7IHNoYXJlZE1lbnVDb250cm9sbGVyLmNsYXNzLCBAc2VsZWN0b3Ioc2V0
TWVudUl0ZW1zOiksIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihzd2l6emxlZFNldE1lbnVJdGVtcykg
fTsKKworICAgIE5TU3RyaW5nICp0ZXN0QWN0aW9uTmFtZSA9IEAiVGVzdCBhY3Rpb24iOworICAg
IGF1dG8gY3VzdG9tQWN0aW9uID0gYWRvcHROUyhbW1VJTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRo
VGl0bGU6dGVzdEFjdGlvbk5hbWUgYWN0aW9uOkBzZWxlY3RvcihiZWNvbWVGaXJzdFJlc3BvbmRl
cildKTsKKyAgICBbc2hhcmVkTWVudUNvbnRyb2xsZXIgc2V0TWVudUl0ZW1zOkBbY3VzdG9tQWN0
aW9uLmdldCgpXV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3V2l0aFRleHRS
ZWNvZ25pdGlvbkVuaGFuY2VtZW50cygpOworICAgIGF1dG8gaW5wdXREZWxlZ2F0ZSA9IGFkb3B0
TlMoW1Rlc3RJbnB1dERlbGVnYXRlIG5ld10pOworICAgIFtpbnB1dERlbGVnYXRlIHNldEZvY3Vz
U3RhcnRzSW5wdXRTZXNzaW9uUG9saWN5SGFuZGxlcjpbXShXS1dlYlZpZXcgKiwgaWQgPF9XS0Zv
Y3VzZWRFbGVtZW50SW5mbz4pIHsKKyAgICAgICAgcmV0dXJuIF9XS0ZvY3VzU3RhcnRzSW5wdXRT
ZXNzaW9uUG9saWN5QWxsb3c7CisgICAgfV07CisKKyAgICBbd2ViVmlldyBfc2V0RWRpdGFibGU6
WUVTXTsKKyAgICBbd2ViVmlldyBfc2V0SW5wdXREZWxlZ2F0ZTppbnB1dERlbGVnYXRlLmdldCgp
XTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJtdWx0aXBs
ZS1pbWFnZXMiXTsKKyAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
bGV0IGltYWdlID0gZG9jdW1lbnQuaW1hZ2VzWzBdOyBnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5k
RXh0ZW50KGltYWdlLCAwLCBpbWFnZSwgMSk7Il07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQ
cmVzZW50YXRpb25VcGRhdGVdOworCisgICAgYXV0byBoYXNNZW51SXRlbVdpdGhUaXRsZSA9IFsm
XSAoTlNTdHJpbmcgKnRpdGxlKSB7CisgICAgICAgIGZvciAoVUlNZW51SXRlbSAqaXRlbSBpbiBz
aGFyZWRNZW51Q29udHJvbGxlci5tZW51SXRlbXMpIHsKKyAgICAgICAgICAgIGlmIChbaXRlbS50
aXRsZSBpc0VxdWFsVG9TdHJpbmc6dGl0bGVdKQorICAgICAgICAgICAgICAgIHJldHVybiBZRVM7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIE5POworICAgIH07CisKKyAgICBFWFBFQ1RfVFJV
RShoYXNNZW51SXRlbVdpdGhUaXRsZSh0ZXN0QWN0aW9uTmFtZSkpOworICAgIEVYUEVDVF9XS19T
VFJFUShzaGFyZWRNZW51Q29udHJvbGxlci5tZW51SXRlbXMuZmlyc3RPYmplY3QudGl0bGUsIGNv
bnRleHRNZW51SXRlbVRpdGxlTWFya3VwSW1hZ2UoKSk7CisKKyAgICBbd2ViVmlldyBzZWxlY3RB
bGw6bmlsXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisK
KyAgICBFWFBFQ1RfVFJVRShoYXNNZW51SXRlbVdpdGhUaXRsZSh0ZXN0QWN0aW9uTmFtZSkpOwor
ICAgIEVYUEVDVF9GQUxTRShoYXNNZW51SXRlbVdpdGhUaXRsZShjb250ZXh0TWVudUl0ZW1UaXRs
ZU1hcmt1cEltYWdlKCkpKTsKKworICAgIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFT
Y3JpcHQ6QCJpbWFnZSA9IGRvY3VtZW50LmltYWdlc1swXTsgZ2V0U2VsZWN0aW9uKCkuc2V0QmFz
ZUFuZEV4dGVudChkb2N1bWVudC5ib2R5LCAwLCBpbWFnZSwgMSk7Il07CisgICAgW3dlYlZpZXcg
d2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIEVYUEVDVF9UUlVFKGhhc01lbnVJ
dGVtV2l0aFRpdGxlKHRlc3RBY3Rpb25OYW1lKSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKHNoYXJl
ZE1lbnVDb250cm9sbGVyLm1lbnVJdGVtcy5maXJzdE9iamVjdC50aXRsZSwgY29udGV4dE1lbnVJ
dGVtVGl0bGVNYXJrdXBJbWFnZSgpKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFM
WVNJU19FTkhBTkNFTUVOVFMpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKIH0gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvbXVsdGlwbGUt
aW1hZ2VzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL211bHRp
cGxlLWltYWdlcy5odG1sCmluZGV4IGFkNDkzZjE4Y2Q1N2NkYTI1OTUwZGU0NTI3MDU0YzJhNGQ5
MTg3ODEuLmRmMTk4MWFmZmU1N2ZiYzYzMmI0NTM3OGZkZDI1ODAwNGFjZTU0ZmEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvbXVsdGlwbGUtaW1hZ2Vz
Lmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9tdWx0aXBs
ZS1pbWFnZXMuaHRtbApAQCAtMzksMTAgKzM5LDE1IEBACiAgICAgICAgIDwvc2NyaXB0PgogICAg
IDwvaGVhZD4KICAgICA8Ym9keSBzdHlsZT0nbWFyZ2luOiAwcHg7Jz4KKyAgICAgICAgPHA+bGFy
Z2UtcmVkLXNxdWFyZS5wbmc8L3A+CiAgICAgICAgIDxpbWcgc3JjPSJsYXJnZS1yZWQtc3F1YXJl
LnBuZyI+CisgICAgICAgIDxwPnN1bnNldC1pbi1jdXBlcnRpbm8tMjAwcHgucG5nPC9wPgogICAg
ICAgICA8aW1nIHNyYz0ic3Vuc2V0LWluLWN1cGVydGluby0yMDBweC5wbmciPgorICAgICAgICA8
cD50ZXN0LmpwZzwvcD4KICAgICAgICAgPGltZyBzcmM9InRlc3QuanBnIj4KKyAgICAgICAgPHA+
NDAweDQwMC1ncmVlbi5wbmc8L3A+CiAgICAgICAgIDxpbWcgc3JjPSI0MDB4NDAwLWdyZWVuLnBu
ZyI+CisgICAgICAgIDxwPnN1bnNldC1pbi1jdXBlcnRpbm8tMTAwcHgudGlmZjwvcD4KICAgICAg
ICAgPGltZyBzcmM9InN1bnNldC1pbi1jdXBlcnRpbm8tMTAwcHgudGlmZiI+CiAgICAgPC9ib2R5
PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452800</attachid>
            <date>2022-02-21 16:51:24 -0800</date>
            <delta_ts>2022-02-21 20:05:17 -0800</delta_ts>
            <desc>For landing</desc>
            <filename>bug-236980-20220221165123.patch</filename>
            <type>text/plain</type>
            <size>23067</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiOGQ4YTE1ZWQxZjg3MDc2NDI2ZWUz
OTRhMGMwMzAyOGYzMGEwZTUuLjY3OGY4OGQ4NzJkNmMxYWM2NmQzYjAyZTVhMmZlNzhiMjI0ZjA2
OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMjEgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRqdXN0IHNvbWUgYmVoYXZpb3Jz
IGFyb3VuZCB0aGUgIk1hcmt1cCBJbWFnZSIgYWN0aW9uIGluIHRoZSBjYWxsb3V0IGJhcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2OTgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRpdHlhIEtlZXJ0aGkuCisKKyAgICAgICAgQWRkIGEgV2ViS2l0
IGludGVybmFsIGZlYXR1cmUgZmxhZyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSAiTWFy
a3VwIEltYWdlIiBhbmQgcmVsYXRlZCAiQ29weSBDcm9wcGVkIEltYWdlIgorICAgICAgICBtZW51
IGl0ZW1zIHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUyBhbmQgbWFjT1MuIFRoaXMgZW5hYmxlcyB1
cyB0byB0ZXN0IHRoZXNlIGZlYXR1cmVzIGluIEFQSSBhbmQgbGF5b3V0IHRlc3RzCisgICAgICAg
IHdpdGhvdXQgcmVxdWlyaW5nIHRoZSBjb3JyZXNwb25kaW5nIHN5c3RlbSBmZWF0dXJlIGZsYWcg
dG8gYmUgZW5hYmxlZC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVy
ZW5jZXNJbnRlcm5hbC55YW1sOgorCiAyMDIyLTAyLTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBTYWZhcmkgY2FuIHNvbWV0aW1lcyBoYW5nIHdo
aWxlIHByaW50aW5nIGR1ZSB0byBzeW5jIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1ZmY0Yjk2MWEyZDMyMWQx
ZDMzZGNmZjg3MjczMGRmZTM1ZjZjZWZjLi41NTU5YzQwNWU5ZWZmMDRlMmQ0N2M0NjhkODU4M2Yy
NDRjMjU3Yjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDIyLTAyLTIxICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkanVzdCBz
b21lIGJlaGF2aW9ycyBhcm91bmQgdGhlICJNYXJrdXAgSW1hZ2UiIGFjdGlvbiBpbiB0aGUgY2Fs
bG91dCBiYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjk4MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkaXR5YSBLZWVydGhpLgorCisgICAgICAg
IEFkanVzdCB0aGUgZm9sbG93aW5nIGJlaGF2aW9ycyBhcm91bmQgdGhlICJNYXJrdXAgSW1hZ2Ui
IGNhbGxvdXQgYmFyIGl0ZW0gb24gaU9TOgorICAgICAgICAxLiAgVGhlIGl0ZW0gc2hvdWxkIGJl
IHByZXNlbnQgYXMgbG9uZyBhcyB0aGUgc2VsZWN0aW9uIHJhbmdlIGNvbnRhaW5zIGEgc2luZ2xl
IGltYWdlIGl0ZW0gKG5vdCBvbmx5IGlmIHRoZQorICAgICAgICAgICAgc2VsZWN0aW9uIHJhbmdl
IGV4YWN0bHkgZW5jb21wYXNzZXMgYSBzaW5nbGUgaW1hZ2UgZWxlbWVudC4KKyAgICAgICAgMi4g
IFRoZSBpdGVtIHNob3VsZCBhcHBlYXIgaW4gdGhlIGNhbGxvdXQgYmFyIGJlZm9yZSBvdGhlciBX
ZWJLaXQtY2xpZW50LXByb3ZpZGVkIG1lbnUgY29udHJvbGxlciBpdGVtcy4KKworICAgICAgICBU
aGlzIHBhdGNoIGFsc28gYWRkcyBhIG5ldyBBUEkgdGVzdCB0byBleGVyY2lzZSB0aGVzZSBiZWhh
dmlvcnMgYW5kLCBpbiBkb2luZyBzbywgYWxzbyByZWZhY3RvcnMgbG9naWMgYXJvdW5kCisgICAg
ICAgIGRldGVybWluaW5nIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhpcyBpdGVtIHNvIHRoYXQg
aXQncyBkZXBlbmRlbnQgb24gYSBXZWJLaXQgaW50ZXJuYWwgZmVhdHVyZSBpbnN0ZWFkIG9mIGp1
c3QKKyAgICAgICAgdGhlIHN5c3RlbSBmZWF0dXJlIGZsYWcgKHdpdGggdGhlIGRlZmF1bHQgdmFs
dWUgb2YgdGhlIGludGVybmFsIGZlYXR1cmUgYmVpbmcgZXF1YWwgdG8gd2hldGhlciBvciBub3Qg
dGhlIHN5c3RlbQorICAgICAgICBmZWF0dXJlIGlzIGVuYWJsZWQpLiBUaGlzIG1lYW5zIHdlIGNh
biBydW4gdGVzdHMgZm9yIHRoZXNlIGZlYXR1cmVzIHdpdGhvdXQgcmVxdWlyaW5nIHRoZSBzeXN0
ZW0gZmVhdHVyZSBmbGFnIHRvCisgICAgICAgIGJlIGVuYWJsZWQuCisKKyAgICAgICAgU2VlIGJl
bG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogSW1hZ2VBbmFseXNpc1Rlc3Rz
Lk1lbnVDb250cm9sbGVySXRlbXMKKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNv
Z25pdGlvblV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYktpdDo6bWFrZVRleHRSZWNvZ25pdGlv
blJlc3VsdCk6CisKKyAgICAgICAgRHJpdmUtYnkgZml4IGZvciBzb21lIEFQSSB0ZXN0czogb25s
eSBhdHRlbXB0IHRvIHNlbmQgdGhlIHBsYXRmb3JtIGltYWdlIGFuYWx5c2lzIHJlc3VsdCBvdmVy
IElQQyBpZiBpdCBpcyBhCisgICAgICAgIGBWS0NJbWFnZUFuYWx5c2lzYC4gSW4gc29tZSBBUEkg
dGVzdHMsIHdlIHVzZSBtb2NrIG9iamVjdHMgaGVyZSBpbnN0ZWFkLCB3aGljaCBjdXJyZW50bHkg
Y2F1c2VzIHRoZSBJUEMgbWVzc2FnZQorICAgICAgICBzZW5kIHRvIGZhaWwgZHVlIHRvIGVuY29k
aW5nIGZhaWx1cmUuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRJbWFnZUFuYWx5c2lz
TWFya3VwRW5hYmxlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5oOgorCisgICAgICAgIE1ha2UgdGhlIG5ldyBpbnRlcm5hbCBmZWF0dXJlIGZsYWcgZGVm
YXVsdCB0byB0aGUgc3lzdGVtIGZlYXR1cmUgZmxhZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tB
Y3Rpb25TaGVldEFzc2lzdGFudC5tbToKKyAgICAgICAgKC1bV0tBY3Rpb25TaGVldEFzc2lzdGFu
dCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDpdKToKKyAgICAgICAgKC1bV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCBkZWZhdWx0QWN0aW9uc0ZvckltYWdlU2hlZXQ6XSk6CisKKyAgICAgICAgQ29u
c3VsdCBhIG5ldyBkZWxlZ2F0ZSBtZXRob2QgKGAtYWN0aW9uU2hlZXRBc3Npc3RhbnRTaG91bGRJ
bmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjpgKSBpbnN0ZWFkIG9mIGNoZWNraW5nCisgICAg
ICAgIHRoZSBzeXN0ZW0gZmVhdHVyZSBmbGFnIGRpcmVjdGx5LgorCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgdXBkYXRlSW1hZ2VBbmFseXNpc01hcmt1cE1lbnVJdGVtczpdKToKKworICAgICAgICBB
cHBlbmQgdGhlICJNYXJrdXAgSW1hZ2UiIGl0ZW0gYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaXN0IG9m
IGFkZGl0aW9uYWwgbWVudSBpdGVtcy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNhblBl
cmZvcm1JbWFnZUFuYWx5c2lzTWFya3VwXSk6CisKKyAgICAgICAgQ2hlY2sgdGhlIGludGVybmFs
IGZlYXR1cmUgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIGZlYXR1cmUgZmxhZy4KKworICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHBlcmZvcm1JbWFnZUFuYWx5c2lzTWFya3VwOl0pOgorCisgICAgICAg
IE5vdyB0aGF0IHRoaXMgYWN0aW9uIGNhbiBiZSB0cmlnZ2VyZWQgZXZlbiB3aGVuIHRoZSBjdXJy
ZW50IHNlbGVjdGlvbiBkb2Vucyd0IGVuY29tcGFzcyBvbmx5IGEgc2luZ2xlIGltYWdlLCB3ZQor
ICAgICAgICBuZWVkIHRvIHVzZSBgcmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YSgpYCBpbnN0ZWFk
LCBwYXNzaW5nIGluIHRoZSBlbGVtZW50IGNvbnRleHQgb2YgdGhlIGltYWdlIGVsZW1lbnQgd2Ug
d2FudAorICAgICAgICB0byByZXBsYWNlLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgYWN0
aW9uU2hlZXRBc3Npc3RhbnRTaG91bGRJbmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjpdKToK
KworICAgICAgICBPbmx5IGF0dGVtcHQgdG8gc2hvdyB0aGUgbmV3IGl0ZW1zIGlmIHRoZSBpbnRl
cm5hbCBmZWF0dXJlIGlzIGVuYWJsZWQuIENvbnN1bHRlZCBieSBgV0tBY3Rpb25TaGVldEFzc2lz
dGFudGAKKyAgICAgICAgYWJvdmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlN
YWM6OnNldHVwU2VydmljZXNNZW51KToKKworICAgICAgICBDaGVjayB0aGUgaW50ZXJuYWwgZmVh
dHVyZSBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gZmVhdHVyZSBmbGFnLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlIGNvbnN0KToKKworICAgICAgICBNYWtlIGEgbWlu
b3IgYWRqdXN0bWVudCBoZXJlIHRvIGJhaWwgZWFybHkgb25seSBpZiB3ZSBmaW5kIG11bHRpcGxl
IGltYWdlIGVsZW1lbnRzIGluIHRoZSBzZWxlY3RlZCByYW5nZSwKKyAgICAgICAgcmF0aGVyIHRo
YW4gYmFpbGluZyBpZiB3ZSBmaW5kIGFueXRoaW5nIHRoYXQncyBub3QgYW4gaW1hZ2UgZWxlbWVu
dC4KKwogMjAyMi0wMi0yMCAgQnJhbmRvbiBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdhcnRAYXBwbGUu
Y29tPgogCiAgICAgICAgIEdlbmVyYXRlIGNvbXBpbGVfY29tbWFuZHMuanNvbiBvbiBtYWNPUyBC
dWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlc0ludGVybmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNJbnRlcm5hbC55YW1sCmluZGV4IDAxYjJmNWU2YjgxYThmMGY0MDcyMDkyZDk1
OTE4Njk3MzYwZWYxNWUuLjc1YmYzN2Y3NjRhOTA3NzMzZWNiMzA4OTc5OWFmZWNiM2E3YzAyMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0ludGVybmFsLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzSW50ZXJuYWwueWFtbApAQCAtMzY5LDYgKzM2OSwyMCBAQCBJUENUZXN0aW5nQVBJ
RW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitJbWFnZUFuYWx5
c2lzTWFya3VwRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIklt
YWdlIGFuYWx5c2lzIG1hcmt1cCIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxl
IGltYWdlIGFuYWx5c2lzIG1hcmt1cCIKKyAgY29uZGl0aW9uOiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVMpCisgIGV4cG9zZWQ6IFsgV2ViS2l0IF0KKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6
CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6
IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZGVmYXVsdEltYWdlQW5hbHlzaXNN
YXJrdXBFbmFibGVkKCkKKwogSW1hZ2VBbmFseXNpc1F1ZXVlRW5hYmxlZDoKICAgdHlwZTogYm9v
bAogICBodW1hblJlYWRhYmxlTmFtZTogIkltYWdlIGFuYWx5c2lzIHF1ZXVlIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGll
cy5tbQppbmRleCAxYTlkNzk0ZWU4YjM4YjhlZGNmZTc4NzhlOTA2MzlkODM3MjQ0ZGVmLi44OGQ4
NWExMTVhNDUxYTIxMzZlNmM0MDQxZWFhMDFhNGQ0MDNmNTlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbQpA
QCAtMTI4LDcgKzEyOCw4IEBAIFRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29nbml0
aW9uUmVzdWx0KENvY29hSW1hZ2VBbmFseXNpcyAqYW5hbHlzaXMpCiAjZW5kaWYgLy8gRU5BQkxF
KERBVEFfREVURUNUSU9OKQogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5U
UykKLSAgICByZXN1bHQucGxhdGZvcm1EYXRhID0geyBSZXRhaW5QdHIgeyBhbmFseXNpcyB9IH07
CisgICAgaWYgKFthbmFseXNpcyBpc0tpbmRPZkNsYXNzOlBBTDo6Z2V0VktDSW1hZ2VBbmFseXNp
c0NsYXNzKCldKQorICAgICAgICByZXN1bHQucGxhdGZvcm1EYXRhID0gYW5hbHlzaXM7CiAjZW5k
aWYKIAogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tCmluZGV4
IDY5OTVkMjIxMmE4ZTAxOGFiZjcyZGQxMDY0MTVkOTQ3NmE1ZDM4OWIuLjgxOTdiNzI0OGQyMmUz
NGVhYzY0MGU4ZDk0MTQ1YmMzOTEwMWJiNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1t
CkBAIC04NCw2ICs4NCwxNCBAQCBib29sIGRlZmF1bHRJbWFnZUFuYWx5c2lzUXVldWVFbmFibGVk
KCkKICAgICByZXR1cm4gaW1hZ2VBbmFseXNpc1F1ZXVlU3lzdGVtRmVhdHVyZUVuYWJsZWQoKTsK
IH0KIAorYm9vbCBkZWZhdWx0SW1hZ2VBbmFseXNpc01hcmt1cEVuYWJsZWQoKQoreworICAgIC8v
IEZJWE1FOiBUaGUgaXMtIHByZWZpeCBvbiB0aGlzIGhlbHBlciBtZXRob2QgaXMgaW5jb25zaXN0
ZW50IHdpdGggdGhlIGFkamFjZW50IHN5c3RlbQorICAgIC8vIGZlYXR1cmUgZmxhZyBjaGVja3Mu
IFRoaXMgd2lsbCBiZSBmaXhlZCB1cG9uIHVwc3RyZWFtaW5nIHRoZSBjb2RlIGZyb20gV2ViS2l0
QWRkaXRpb25zLAorICAgIC8vIHdoZW4gdGhlc2UgaGVscGVyIG1ldGhvZHMgd2lsbCBiZSByZW1v
dmVkIGVudGlyZWx5LgorICAgIHJldHVybiBpc0ltYWdlQW5hbHlzaXNNYXJrdXBTeXN0ZW1GZWF0
dXJlRW5hYmxlZCgpOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKaW5kZXggOGRjOGQyMTkwYzg3NzVmYjJlZjJjMDFjNzFk
MWYxNzg2NGMzZTYyYS4uMWEyMGJlNjkyMDUzM2VlNjM1YWYxN2NjNzZmNDY5OTQ2YWRjN2ZjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmgKQEAgLTExOCw2ICsxMTgsNyBAQCBib29sIGRlZmF1bHRTY3JlZW5DYXB0dXJlS2l0RW5h
YmxlZCgpOwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKIGJvb2wgZGVmYXVsdFRleHRSZWNv
Z25pdGlvbkVuaGFuY2VtZW50c0VuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdEltYWdlQW5hbHlzaXNR
dWV1ZUVuYWJsZWQoKTsKK2Jvb2wgZGVmYXVsdEltYWdlQW5hbHlzaXNNYXJrdXBFbmFibGVkKCk7
CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaAppbmRleCBlOTNiZjZlN2Vl
ZmIwNjYyMzI5MGUxOTNmNWQ5MjMwMjdmZTlhMTQ1Li45NWVhOGJlNDEzZjNmYTJiOTc4ZThmZmNj
YmZjYmI5OGJhYjdjMjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0FjdGlvblNoZWV0QXNzaXN0YW50LmgKQEAgLTg2LDYgKzg2LDcgQEAgdHlwZWRlZiBOU19F
TlVNKE5TSW50ZWdlciwgX1dLRWxlbWVudEFjdGlvblR5cGUpOwogLSAodm9pZClhY3Rpb25TaGVl
dEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBsb29rVXBJbWFn
ZTooVUlJbWFnZSAqKWltYWdlIGltYWdlVVJMOihOU1VSTCAqKWltYWdlVVJMIHRpdGxlOihOU1N0
cmluZyAqKXRpdGxlIGltYWdlQm91bmRzOihDR1JlY3QpaW1hZ2VCb3VuZHM7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorLSAoQk9PTClhY3Rpb25TaGVl
dEFzc2lzdGFudFNob3VsZEluY2x1ZGVDb3B5Q3JvcHBlZEltYWdlQWN0aW9uOihXS0FjdGlvblNo
ZWV0QXNzaXN0YW50ICopYXNzaXN0YW50OwogLSAodm9pZClhY3Rpb25TaGVldEFzc2lzdGFudDoo
V0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBjb3B5Q3JvcHBlZEltYWdlOihVSUlt
YWdlICopaW1hZ2Ugc291cmNlTUlNRVR5cGU6KE5TU3RyaW5nICopc291cmNlTUlNRVR5cGU7CiAj
ZW5kaWYKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fj
dGlvblNoZWV0QXNzaXN0YW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0
aW9uU2hlZXRBc3Npc3RhbnQubW0KaW5kZXggYzlhZTFhNjY3NzcxYjI2MTA5NTg1NGVhZTU5ZTI4
NWFiNzUyZjY3Yi4uY2M0MmJmOWZhZDcxMzQ5ODMzNTBiMjc5NDMxZTY4Mzk2N2IyZTA4MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Np
c3RhbnQubW0KQEAgLTU1NSw3ICs1NTUsNyBAQCBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19FTkQKIAogICAgIGlmIChlbGVtZW50SW5mby50eXBlID09IF9XS0FjdGl2YXRlZEVsZW1lbnRU
eXBlSW1hZ2UgfHwgW2VsZW1lbnRJbmZvIGltYWdlXSkgewogI2lmIEVOQUJMRShJTUFHRV9BTkFM
WVNJU19FTkhBTkNFTUVOVFMpCi0gICAgICAgIGlmIChXZWJLaXQ6OmlzSW1hZ2VBbmFseXNpc01h
cmt1cFN5c3RlbUZlYXR1cmVFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKFtfZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudFNob3VsZEluY2x1
ZGVDb3B5Q3JvcHBlZEltYWdlQWN0aW9uOildICYmIFtfZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Np
c3RhbnRTaG91bGRJbmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjpzZWxmXSkgewogICAgICAg
ICAgICAgLy8gRklYTUUgKHJkYXI6Ly84ODgzNDMwNCk6IFRoaXMgc2hvdWxkIGJlIGFkZGl0aW9u
YWxseSBnYXRlZCBvbiB0aGUgcmVsZXZhbnQgVmlzaW9uS2l0IFNQSS4KICAgICAgICAgICAgIFtk
ZWZhdWx0QWN0aW9ucyBhZGRPYmplY3Q6W19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25X
aXRoVHlwZTpfV0tFbGVtZW50QWN0aW9uVHlwZUNvcHlDcm9wcGVkSW1hZ2UgYXNzaXN0YW50OnNl
bGZdXTsKICAgICAgICAgfQpAQCAtNTkxLDcgKzU5MSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0VORAogCiAgICAgW2RlZmF1bHRBY3Rpb25zIGFkZE9iamVjdDpbX1dLRWxlbWVu
dEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25UeXBlQ29weSBh
c3Npc3RhbnQ6c2VsZl1dOwogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMp
Ci0gICAgaWYgKFdlYktpdDo6aXNJbWFnZUFuYWx5c2lzTWFya3VwU3lzdGVtRmVhdHVyZUVuYWJs
ZWQoKSkgeworICAgIGlmIChbX2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
YWN0aW9uU2hlZXRBc3Npc3RhbnRTaG91bGRJbmNsdWRlQ29weUNyb3BwZWRJbWFnZUFjdGlvbjop
XSAmJiBbX2RlbGVnYXRlIGFjdGlvblNoZWV0QXNzaXN0YW50U2hvdWxkSW5jbHVkZUNvcHlDcm9w
cGVkSW1hZ2VBY3Rpb246c2VsZl0pIHsKICAgICAgICAgLy8gRklYTUUgKHJkYXI6Ly84ODgzNDMw
NCk6IFRoaXMgc2hvdWxkIGJlIGFkZGl0aW9uYWxseSBnYXRlZCBvbiB0aGUgcmVsZXZhbnQgVmlz
aW9uS2l0IFNQSS4KICAgICAgICAgW2RlZmF1bHRBY3Rpb25zIGFkZE9iamVjdDpbX1dLRWxlbWVu
dEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25UeXBlQ29weUNy
b3BwZWRJbWFnZSBhc3Npc3RhbnQ6c2VsZl1dOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDA5
ODIzZThlNTA5Y2I4ZjQ5NWE0OGNiMWFlMDcyNmIyOWZmNjk3NDkuLjNjYjg4MDFiNTAyMDdkYmUx
ZDM3YTg5MmM1ZWNkNDU5ODU1ZThjNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDY5NywxNiArNDY5
NywxOCBAQCBzdGF0aWMgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoKFdLQ29udGVudFZp
ZXcgKnZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaQogewogICAgIGF1dG8gY3VycmVudEl0ZW0g
PSBmaW5kTWVudUl0ZW1XaXRoQWN0aW9uKHVwZGF0ZWRJdGVtcywgQHNlbGVjdG9yKHBlcmZvcm1J
bWFnZUFuYWx5c2lzTWFya3VwOikpOwogICAgIGF1dG8mIGVkaXRvclN0YXRlID0gX3BhZ2UtPmVk
aXRvclN0YXRlKCk7Ci0gICAgaWYgKCFXZWJLaXQ6OmlzSW1hZ2VBbmFseXNpc01hcmt1cFN5c3Rl
bUZlYXR1cmVFbmFibGVkKCkgfHwgIXNlbGYud2luZG93IHx8IGVkaXRvclN0YXRlLmlzTWlzc2lu
Z1Bvc3RMYXlvdXREYXRhIHx8ICFlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLnNlbGVjdGVk
RWRpdGFibGVJbWFnZSkgeworICAgIGlmICghX3BhZ2UtPnByZWZlcmVuY2VzKCkuaW1hZ2VBbmFs
eXNpc01hcmt1cEVuYWJsZWQoKSB8fCAhc2VsZi53aW5kb3cgfHwgZWRpdG9yU3RhdGUuaXNNaXNz
aW5nUG9zdExheW91dERhdGEgfHwgIWVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRhKCkuc2VsZWN0
ZWRFZGl0YWJsZUltYWdlKSB7CiAgICAgICAgIGlmIChjdXJyZW50SXRlbSkKICAgICAgICAgICAg
IFt1cGRhdGVkSXRlbXMgcmVtb3ZlT2JqZWN0OmN1cnJlbnRJdGVtXTsKLSAgICB9IGVsc2UgaWYg
KCFjdXJyZW50SXRlbSkKLSAgICAgICAgW3VwZGF0ZWRJdGVtcyBhZGRPYmplY3Q6YWRvcHROUyhb
W1VJTWVudUl0ZW0gYWxsb2NdIGluaXRXaXRoVGl0bGU6V2ViQ29yZTo6Y29udGV4dE1lbnVJdGVt
VGl0bGVNYXJrdXBJbWFnZSgpIGFjdGlvbjpAc2VsZWN0b3IocGVyZm9ybUltYWdlQW5hbHlzaXNN
YXJrdXA6KV0pLmdldCgpXTsKKyAgICB9IGVsc2UgaWYgKCFjdXJyZW50SXRlbSkgeworICAgICAg
ICBhdXRvIGl0ZW0gPSBhZG9wdE5TKFtbVUlNZW51SXRlbSBhbGxvY10gaW5pdFdpdGhUaXRsZTpX
ZWJDb3JlOjpjb250ZXh0TWVudUl0ZW1UaXRsZU1hcmt1cEltYWdlKCkgYWN0aW9uOkBzZWxlY3Rv
cihwZXJmb3JtSW1hZ2VBbmFseXNpc01hcmt1cDopXSk7CisgICAgICAgIFt1cGRhdGVkSXRlbXMg
aW5zZXJ0T2JqZWN0Oml0ZW0uZ2V0KCkgYXRJbmRleDowXTsKKyAgICB9CiB9CiAKIC0gKEJPT0wp
Y2FuUGVyZm9ybUltYWdlQW5hbHlzaXNNYXJrdXAKIHsKLSAgICBpZiAoIVdlYktpdDo6aXNJbWFn
ZUFuYWx5c2lzTWFya3VwU3lzdGVtRmVhdHVyZUVuYWJsZWQoKSkKKyAgICBpZiAoIV9wYWdlIHx8
ICFfcGFnZS0+cHJlZmVyZW5jZXMoKS5pbWFnZUFuYWx5c2lzTWFya3VwRW5hYmxlZCgpKQogICAg
ICAgICByZXR1cm4gTk87CiAKICAgICBpZiAoIV9pbWFnZUFuYWx5c2lzTWFya3VwRGF0YSkKQEAg
LTQ3MjMsNyArNDcyNSw3IEBAIHN0YXRpYyB2b2lkIHNlbGVjdGlvbkNoYW5nZWRXaXRoVG91Y2go
V0tDb250ZW50VmlldyAqdmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pCiAKICAgICBhdXRvIFtl
bGVtZW50Q29udGV4dCwgaW1hZ2UsIHByZWZlcnJlZE1JTUVUeXBlXSA9ICpfaW1hZ2VBbmFseXNp
c01hcmt1cERhdGE7CiAgICAgaWYgKGF1dG8gW2RhdGEsIHR5cGVdID0gV2ViS2l0Ojp0cmFuc2Nv
ZGVXaXRoUHJlZmVycmVkTUlNRVR5cGUoaW1hZ2UuZ2V0KCksIHByZWZlcnJlZE1JTUVUeXBlLmNy
ZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZilVVFR5cGVUSUZGLmlk
ZW50aWZpZXIpOyBkYXRhKQotICAgICAgICBfcGFnZS0+cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0
ZWJvYXJkRGF0YSh7IFN0cmluZyB7IHR5cGUuZ2V0KCkgfSB9LCB7IHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPihbZGF0YSBieXRlc10pLCBbZGF0YSBsZW5ndGhdIH0pOworICAgICAgICBfcGFn
ZS0+cmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YShlbGVtZW50Q29udGV4dCwgeyBTdHJpbmcgeyB0
eXBlLmdldCgpIH0gfSwgeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oW2RhdGEgYnl0ZXNd
KSwgW2RhdGEgbGVuZ3RoXSB9KTsKIH0KIAogLSAodm9pZClkb0FmdGVyQ29tcHV0aW5nSW1hZ2VB
bmFseXNpc1Jlc3VsdHNGb3JNYXJrdXA6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiljb21w
bGV0aW9uCkBAIC0xMDkwMCw2ICsxMDkwMiwxMSBAQCBzdGF0aWMgUmV0YWluUHRyPE5TSXRlbVBy
b3ZpZGVyPiBjcmVhdGVJdGVtUHJvdmlkZXIoY29uc3QgV2ViS2l0OjpXZWJQYWdlUHJveHkmCiAK
ICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQogCistIChCT09MKWFjdGlv
blNoZWV0QXNzaXN0YW50U2hvdWxkSW5jbHVkZUNvcHlDcm9wcGVkSW1hZ2VBY3Rpb246KFdLQWN0
aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQKK3sKKyAgICByZXR1cm4gX3BhZ2UtPnByZWZl
cmVuY2VzKCkuaW1hZ2VBbmFseXNpc01hcmt1cEVuYWJsZWQoKTsKK30KKwogLSAodm9pZClhY3Rp
b25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBjb3B5
Q3JvcHBlZEltYWdlOihVSUltYWdlICopaW1hZ2Ugc291cmNlTUlNRVR5cGU6KE5TU3RyaW5nICop
c291cmNlTUlNRVR5cGUKIHsKICAgICBhdXRvIGNoYW5nZUNvdW50ID0gVUlQYXN0ZWJvYXJkLmdl
bmVyYWxQYXN0ZWJvYXJkLmNoYW5nZUNvdW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQppbmRleCBjYWQ5OWIyNzRmYjkw
ZGJkMGRjMDA4MjIyNDUxNDBlZWE2NjY3ZjgyLi4yYjIwMjNjODVjZTAyNzgxYzcxZGYyMTljZDgw
ODE3NTIwMzdlNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2Vi
Q29udGV4dE1lbnVQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
V2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQpAQCAtMjcxLDcgKzI3MSw3IEBAIHZvaWQgV2ViQ29u
dGV4dE1lbnVQcm94eU1hYzo6c2V0dXBTZXJ2aWNlc01lbnUoKQogICAgIGlmICghaGFzQ29udHJv
bGxlZEltYWdlKQogICAgICAgICBbbV9tZW51IHNldFNob3dzU3RhdGVDb2x1bW46WUVTXTsKICNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQotICAgIGVsc2UgaWYgKGlzSW1h
Z2VBbmFseXNpc01hcmt1cFN5c3RlbUZlYXR1cmVFbmFibGVkKCkpIHsKKyAgICBlbHNlIGlmIChw
YWdlKCktPnByZWZlcmVuY2VzKCkuaW1hZ2VBbmFseXNpc01hcmt1cEVuYWJsZWQoKSkgewogICAg
ICAgICBhdXRvIG1hcmt1cEltYWdlSXRlbSA9IGFkb3B0TlMoW1tOU01lbnVJdGVtIGFsbG9jXSBp
bml0V2l0aFRpdGxlOmNvbnRleHRNZW51SXRlbVRpdGxlTWFya3VwSW1hZ2UoKSBhY3Rpb246QHNl
bGVjdG9yKG1hcmt1cEltYWdlKSBrZXlFcXVpdmFsZW50OkAiIl0pOwogICAgICAgICBbbWFya3Vw
SW1hZ2VJdGVtIHNldEltYWdlOltOU0ltYWdlIGltYWdlV2l0aFN5c3RlbVN5bWJvbE5hbWU6QCJw
ZXJzb24uZmlsbC52aWV3ZmluZGVyIiBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb246Y29udGV4dE1l
bnVJdGVtVGl0bGVNYXJrdXBJbWFnZSgpXV07CiAgICAgICAgIFttYXJrdXBJbWFnZUl0ZW0gc2V0
VGFyZ2V0OldLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5zaGFyZWRTaGFyaW5nU2Vydmlj
ZVBpY2tlckRlbGVnYXRlXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggYWQxOWM3YWE2ZDQxMjk1ZWExODk0OGQ3NzY3YWJj
Y2E2Y2JiYWRhZi4uNGZiODBhNjNjYmMwNjdmNjM5MDY5N2Q0M2VkMDY0MzkwNzkzODRhYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KQEAgLTMyOCwxMyArMzI4LDE2IEBAIHZvaWQgV2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JT
dGF0ZShGcmFtZSYgZnJhbWUsIEVkaXRvclN0YXRlJiByZXN1bHQpIGNvbnN0CiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBmb3VuZEltYWdlOwogCiAgICAgICAgICAgICAgICAgZm9yIChUZXh0
SXRlcmF0b3IgaXRlcmF0b3IgeyAqc2VsZWN0ZWRSYW5nZSwgeyB9IH07ICFpdGVyYXRvci5hdEVu
ZCgpOyBpdGVyYXRvci5hZHZhbmNlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBpbWFn
ZUVsZW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oaXRlcmF0b3Iubm9k
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFpbWFnZUVsZW1lbnQpCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgICAgICAgICBpZiAoZm91bmRJ
bWFnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRJbWFnZSA9IG51bGxwdHI7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICBmb3VuZEltYWdlID0gZHluYW1pY0Rvd25jYXN0PEhUTUxJbWFnZUVs
ZW1lbnQ+KGl0ZXJhdG9yLm5vZGUoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghZm91bmRJ
bWFnZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAg
ICAgIGZvdW5kSW1hZ2UgPSBpbWFnZUVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIHJldHVybiBmb3VuZEltYWdlOwogICAgICAgICAgICAgfTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMGI0YTRlNTQxODY3NmE1
MTljZTYyYjEwMjQ2ZmU4N2VhMDMzNTNlLi43NDg1MDlhMWViYzY1YzgzNWU1YTZiMDQ4NTJiOWJm
YjE4ZjI1NjRmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjItMDItMjEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWRqdXN0IHNvbWUgYmVoYXZpb3JzIGFy
b3VuZCB0aGUgIk1hcmt1cCBJbWFnZSIgYWN0aW9uIGluIHRoZSBjYWxsb3V0IGJhcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2OTgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRpdHlhIEtlZXJ0aGkuCisKKyAgICAgICAgQWRkIGFuIEFQSSB0ZXN0
IHRvIHZlcmlmeSB0aGF0ICJNYXJrdXAgSW1hZ2UiIGFwcGVhcnMgYXMgdGhlIGZpcnN0IG5vbi1k
ZWZhdWx0IGNhbGxvdXQgYmFyIGl0ZW0gd2hlbiBhIHNpbmdsZQorICAgICAgICBpbWFnZSBlbGVt
ZW50IGlzIGluIHRoZSBzZWxlY3Rpb24gcmFuZ2UuIFRoZSB0ZXN0IGlzIGNvbXByaXNlZCBvZiB0
aHJlZSBwYXJ0czoKKworICAgICAgICAxLiBTZWxlY3QganVzdCBhIHNpbmdsZSBpbWFnZSwgYW5k
IGV4cGVjdCB0aGUgIk1hcmt1cCBJbWFnZSIgaXRlbS4KKyAgICAgICAgMi4gU2VsZWN0IGFsbCBp
bWFnZXMgaW4gdGhlIGRvY3VtZW50LCBhbmQgZXhwZWN0IG5vICJNYXJrdXAgSW1hZ2UiIGl0ZW0u
CisgICAgICAgIDMuIFNlbGVjdCBhIHNpbmdsZSBpbWFnZSBhbmQgc29tZSBzdXJyb3VuZGluZyB0
ZXh0LCBhbmQgZXhwZWN0IHRoZSAiTWFya3VwIEltYWdlIiBpdGVtLgorCisgICAgICAgIFNlZSBX
ZWJLaXQvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OmNyZWF0ZVdlYlZpZXdXaXRoVGV4dFJlY29nbml0aW9uRW5oYW5jZW1lbnRz
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnN3aXp6bGVkU2V0TWVudUl0ZW1zKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvbXVsdGlwbGUtaW1hZ2VzLmh0bWw6CisKKyAgICAgICAgQWRkIHNvbWUgdGV4
dCBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggaW1hZ2Ugc28gdGhhdCB3ZSBjYW4gc2VsZWN0IGEgc2lu
Z2xlIGltYWdlIGFsb25nc2lkZSBzb21lIHRleHQsIGFuZCBleGVyY2lzZQorICAgICAgICB0aGUg
Y2hhbmdlcyBpbiBgV2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JTdGF0ZWAgKHNlZSBXZWJLaXQg
Y2hhbmdlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbikuCisKIDIwMjItMDItMjAgIEJyYW5kb24gU3Rl
d2FydCAgPGJyYW5kb25zdGV3YXJ0QGFwcGxlLmNvbT4KIAogICAgICAgICBHZW5lcmF0ZSBjb21w
aWxlX2NvbW1hbmRzLmpzb24gb24gbWFjT1MgQnVpbGRzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCmlu
ZGV4IDRiZWVjZjMwOTQzYmRlY2FkOTJkZGYwMWVjM2RkZTYzOWZhZGEwNzEuLjk2NjhmNTA3MDNj
ZDY3ZDhjMDhhZjUyZmUxYTRlZmU3YzAwZTBlNzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCkBA
IC0zMCw4ICszMCwxMCBAQAogI2ltcG9ydCAiSW1hZ2VBbmFseXNpc1Rlc3RpbmdVdGlsaXRpZXMu
aCIKICNpbXBvcnQgIkluc3RhbmNlTWV0aG9kU3dpenpsZXIuaCIKICNpbXBvcnQgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0SW5wdXREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiVGVz
dFdLV2ViVmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkV4dHJhcy5oIgor
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0
aW5nLmg+CiAjaW1wb3J0IDxwYWwvY29jb2EvVmlzaW9uS2l0Q29yZVNvZnRMaW5rLmg+CkBAIC0x
MDYsMTAgKzEwOCw5IEBAIHN0YXRpYyBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gY3JlYXRlV2Vi
Vmlld1dpdGhUZXh0UmVjb2duaXRpb25FbmhhbmNlbWVudHMoKQogewogICAgIFJldGFpblB0ciBj
b25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlv
bldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMi
IGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBmb3IgKF9XS0ludGVybmFsRGVidWdG
ZWF0dXJlICpmZWF0dXJlIGluIFdLUHJlZmVyZW5jZXMuX2ludGVybmFsRGVidWdGZWF0dXJlcykg
ewotICAgICAgICBpZiAoW2ZlYXR1cmUua2V5IGlzRXF1YWxUb1N0cmluZzpAIlRleHRSZWNvZ25p
dGlvbkVuaGFuY2VtZW50c0VuYWJsZWQiXSkgeworICAgICAgICBOU1N0cmluZyAqa2V5ID0gZmVh
dHVyZS5rZXk7CisgICAgICAgIGlmIChba2V5IGlzRXF1YWxUb1N0cmluZzpAIlRleHRSZWNvZ25p
dGlvbkVuaGFuY2VtZW50c0VuYWJsZWQiXSB8fCBba2V5IGlzRXF1YWxUb1N0cmluZzpAIkltYWdl
QW5hbHlzaXNRdWV1ZUVuYWJsZWQiXSB8fCBba2V5IGlzRXF1YWxUb1N0cmluZzpAIkltYWdlQW5h
bHlzaXNNYXJrdXBFbmFibGVkIl0pCiAgICAgICAgICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JJbnRlcm5hbERlYnVnRmVhdHVyZTpmZWF0dXJlXTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMw
MCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKIH0KQEAgLTI2MCw2
ICsyNjEsNjYgQEAgVEVTVChJbWFnZUFuYWx5c2lzVGVzdHMsIEltYWdlQW5hbHlzaXNQcmlvcml0
aXplc1Zpc2libGVJbWFnZXMpCiAgICAgRVhQRUNUX0VRKDQ1MFUsIENHSW1hZ2VHZXRIZWlnaHQo
bGFzdFJlcXVlc3RlZEltYWdlKSk7CiB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5I
QU5DRU1FTlRTKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorCitzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8UmV0YWluUHRyPE5TQXJyYXk8VUlNZW51SXRlbSAqPj4+IGdTd2l6emxlZE1lbnVJdGVtczsK
K3N0YXRpYyB2b2lkIHN3aXp6bGVkU2V0TWVudUl0ZW1zKGlkLCBTRUwsIE5TQXJyYXk8VUlNZW51
SXRlbSAqPiAqaXRlbXMpCit7CisgICAgZ1N3aXp6bGVkTWVudUl0ZW1zLmdldCgpID0gaXRlbXM7
Cit9CisKK3N0YXRpYyBOU0FycmF5PFVJTWVudUl0ZW0gKj4gKnN3aXp6bGVkTWVudUl0ZW1zKGlk
LCBTRUwpCit7CisgICAgcmV0dXJuIGdTd2l6emxlZE1lbnVJdGVtcy5nZXQoKS5nZXQoKTsKK30K
KworVEVTVChJbWFnZUFuYWx5c2lzVGVzdHMsIE1lbnVDb250cm9sbGVySXRlbXMpCit7CisgICAg
YXV0byBzaGFyZWRNZW51Q29udHJvbGxlciA9IFVJTWVudUNvbnRyb2xsZXIuc2hhcmVkTWVudUNv
bnRyb2xsZXI7CisgICAgSW5zdGFuY2VNZXRob2RTd2l6emxlciBtZW51SXRlbXNTd2l6emxlciB7
IHNoYXJlZE1lbnVDb250cm9sbGVyLmNsYXNzLCBAc2VsZWN0b3IobWVudUl0ZW1zKSwgcmVpbnRl
cnByZXRfY2FzdDxJTVA+KHN3aXp6bGVkTWVudUl0ZW1zKSB9OworICAgIEluc3RhbmNlTWV0aG9k
U3dpenpsZXIgc2V0TWVudUl0ZW1zU3dpenpsZXIgeyBzaGFyZWRNZW51Q29udHJvbGxlci5jbGFz
cywgQHNlbGVjdG9yKHNldE1lbnVJdGVtczopLCByZWludGVycHJldF9jYXN0PElNUD4oc3dpenps
ZWRTZXRNZW51SXRlbXMpIH07CisKKyAgICBOU1N0cmluZyAqdGVzdEFjdGlvbk5hbWUgPSBAIlRl
c3QgYWN0aW9uIjsKKyAgICBhdXRvIGN1c3RvbUFjdGlvbiA9IGFkb3B0TlMoW1tVSU1lbnVJdGVt
IGFsbG9jXSBpbml0V2l0aFRpdGxlOnRlc3RBY3Rpb25OYW1lIGFjdGlvbjpAc2VsZWN0b3IoYmVj
b21lRmlyc3RSZXNwb25kZXIpXSk7CisgICAgW3NoYXJlZE1lbnVDb250cm9sbGVyIHNldE1lbnVJ
dGVtczpAW2N1c3RvbUFjdGlvbi5nZXQoKV1dOworCisgICAgYXV0byB3ZWJWaWV3ID0gY3JlYXRl
V2ViVmlld1dpdGhUZXh0UmVjb2duaXRpb25FbmhhbmNlbWVudHMoKTsKKyAgICBhdXRvIGlucHV0
RGVsZWdhdGUgPSBhZG9wdE5TKFtUZXN0SW5wdXREZWxlZ2F0ZSBuZXddKTsKKyAgICBbaW5wdXRE
ZWxlZ2F0ZSBzZXRGb2N1c1N0YXJ0c0lucHV0U2Vzc2lvblBvbGljeUhhbmRsZXI6W10oV0tXZWJW
aWV3ICosIGlkIDxfV0tGb2N1c2VkRWxlbWVudEluZm8+KSB7CisgICAgICAgIHJldHVybiBfV0tG
b2N1c1N0YXJ0c0lucHV0U2Vzc2lvblBvbGljeUFsbG93OworICAgIH1dOworCisgICAgW3dlYlZp
ZXcgX3NldEVkaXRhYmxlOllFU107CisgICAgW3dlYlZpZXcgX3NldElucHV0RGVsZWdhdGU6aW5w
dXREZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAibXVsdGlwbGUtaW1hZ2VzIl07CisgICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImxldCBpbWFnZSA9IGRvY3VtZW50LmltYWdlc1swXTsgZ2V0U2VsZWN0
aW9uKCkuc2V0QmFzZUFuZEV4dGVudChpbWFnZSwgMCwgaW1hZ2UsIDEpOyJdOworICAgIFt3ZWJW
aWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKworICAgIGF1dG8gaGFzTWVudUl0
ZW1XaXRoVGl0bGUgPSBbJl0gKE5TU3RyaW5nICp0aXRsZSkgeworICAgICAgICBmb3IgKFVJTWVu
dUl0ZW0gKml0ZW0gaW4gc2hhcmVkTWVudUNvbnRyb2xsZXIubWVudUl0ZW1zKSB7CisgICAgICAg
ICAgICBpZiAoW2l0ZW0udGl0bGUgaXNFcXVhbFRvU3RyaW5nOnRpdGxlXSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gWUVTOworICAgICAgICB9CisgICAgICAgIHJldHVybiBOTzsKKyAgICB9Owor
CisgICAgRVhQRUNUX1RSVUUoaGFzTWVudUl0ZW1XaXRoVGl0bGUodGVzdEFjdGlvbk5hbWUpKTsK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoc2hhcmVkTWVudUNvbnRyb2xsZXIubWVudUl0ZW1zLmZpcnN0
T2JqZWN0LnRpdGxlLCBXZWJDb3JlOjpjb250ZXh0TWVudUl0ZW1UaXRsZU1hcmt1cEltYWdlKCkp
OworCisgICAgW3dlYlZpZXcgc2VsZWN0QWxsOm5pbF07CisgICAgW3dlYlZpZXcgd2FpdEZvck5l
eHRQcmVzZW50YXRpb25VcGRhdGVdOworCisgICAgRVhQRUNUX1RSVUUoaGFzTWVudUl0ZW1XaXRo
VGl0bGUodGVzdEFjdGlvbk5hbWUpKTsKKyAgICBFWFBFQ1RfRkFMU0UoaGFzTWVudUl0ZW1XaXRo
VGl0bGUoV2ViQ29yZTo6Y29udGV4dE1lbnVJdGVtVGl0bGVNYXJrdXBJbWFnZSgpKSk7CisKKyAg
ICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCku
c2V0QmFzZUFuZEV4dGVudChkb2N1bWVudC5ib2R5LCAwLCBkb2N1bWVudC5pbWFnZXNbMF0sIDEp
OyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBF
WFBFQ1RfVFJVRShoYXNNZW51SXRlbVdpdGhUaXRsZSh0ZXN0QWN0aW9uTmFtZSkpOworICAgIEVY
UEVDVF9XS19TVFJFUShzaGFyZWRNZW51Q29udHJvbGxlci5tZW51SXRlbXMuZmlyc3RPYmplY3Qu
dGl0bGUsIFdlYkNvcmU6OmNvbnRleHRNZW51SXRlbVRpdGxlTWFya3VwSW1hZ2UoKSk7Cit9CisK
KyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKSAmJiBQTEFURk9S
TShJT1NfRkFNSUxZKQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZiAv
LyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL211bHRpcGxlLWltYWdlcy5odG1sIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9tdWx0aXBsZS1pbWFnZXMuaHRtbAppbmRleCBhZDQ5M2Yx
OGNkNTdjZGEyNTk1MGRlNDUyNzA1NGMyYTRkOTE4NzgxLi5kZjE5ODFhZmZlNTdmYmM2MzJiNDUz
NzhmZGQyNTgwMDRhY2U1NGZhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL211bHRpcGxlLWltYWdlcy5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvbXVsdGlwbGUtaW1hZ2VzLmh0bWwKQEAgLTM5LDEwICszOSwx
NSBAQAogICAgICAgICA8L3NjcmlwdD4KICAgICA8L2hlYWQ+CiAgICAgPGJvZHkgc3R5bGU9J21h
cmdpbjogMHB4Oyc+CisgICAgICAgIDxwPmxhcmdlLXJlZC1zcXVhcmUucG5nPC9wPgogICAgICAg
ICA8aW1nIHNyYz0ibGFyZ2UtcmVkLXNxdWFyZS5wbmciPgorICAgICAgICA8cD5zdW5zZXQtaW4t
Y3VwZXJ0aW5vLTIwMHB4LnBuZzwvcD4KICAgICAgICAgPGltZyBzcmM9InN1bnNldC1pbi1jdXBl
cnRpbm8tMjAwcHgucG5nIj4KKyAgICAgICAgPHA+dGVzdC5qcGc8L3A+CiAgICAgICAgIDxpbWcg
c3JjPSJ0ZXN0LmpwZyI+CisgICAgICAgIDxwPjQwMHg0MDAtZ3JlZW4ucG5nPC9wPgogICAgICAg
ICA8aW1nIHNyYz0iNDAweDQwMC1ncmVlbi5wbmciPgorICAgICAgICA8cD5zdW5zZXQtaW4tY3Vw
ZXJ0aW5vLTEwMHB4LnRpZmY8L3A+CiAgICAgICAgIDxpbWcgc3JjPSJzdW5zZXQtaW4tY3VwZXJ0
aW5vLTEwMHB4LnRpZmYiPgogICAgIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>