<?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>184435</bug_id>
          
          <creation_ts>2018-04-09 19:09:18 -0700</creation_ts>
          <short_desc>[Extra zoom mode] Add a mechanism to zoom to fixed scales when double tapping in extra zoom mode</short_desc>
          <delta_ts>2018-04-11 09:00:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>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>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1413141</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-09 19:09:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/38726260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413160</commentid>
    <comment_count>1</comment_count>
      <attachid>337581</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-09 20:46:10 -0700</bug_when>
    <thetext>Created attachment 337581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413164</commentid>
    <comment_count>2</comment_count>
      <attachid>337582</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-09 20:51:28 -0700</bug_when>
    <thetext>Created attachment 337582
Fix WPE builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413412</commentid>
    <comment_count>3</comment_count>
      <attachid>337582</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-04-10 14:47:47 -0700</bug_when>
    <thetext>Comment on attachment 337582
Fix WPE builds

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

&gt; Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp:141
&gt; +        return { };

Should this be nullopt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413420</commentid>
    <comment_count>4</comment_count>
      <attachid>337582</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-10 15:10:50 -0700</bug_when>
    <thetext>Comment on attachment 337582
Fix WPE builds

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

&gt;&gt; Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp:141
&gt;&gt; +        return { };
&gt; 
&gt; Should this be nullopt?

Sure! Changed to std::nullopt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413475</commentid>
    <comment_count>5</comment_count>
      <attachid>337659</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-10 17:24:29 -0700</bug_when>
    <thetext>Created attachment 337659
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413493</commentid>
    <comment_count>6</comment_count>
      <attachid>337659</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-10 18:02:59 -0700</bug_when>
    <thetext>Comment on attachment 337659
Patch for landing

Clearing flags on attachment: 337659

Committed r230506: &lt;https://trac.webkit.org/changeset/230506&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337581</attachid>
            <date>2018-04-09 20:46:10 -0700</date>
            <delta_ts>2018-04-09 20:51:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184435-20180409204609.patch</filename>
            <type>text/plain</type>
            <size>26219</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU1OTNkY2Y4OWU0NWZi
NjM1YmU5Y2U5ZjdhNmIyZmQ1MDA0MjRkZS4uNmEzMmRlNjdlMjIzY2FkODYwMmRmODVhMDE4YjYz
OGM2YTA3NTFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29t
IG1vZGVdIEFkZCBhIG1lY2hhbmlzbSB0byB6b29tIHRvIGZpeGVkIHNjYWxlcyB3aGVuIGRvdWJs
ZSB0YXBwaW5nIGluIGV4dHJhIHpvb20gbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NDM1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODcy
NjI2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
eHBvc2UgdGhlIHNpemUgb2YgdGhlIHBsYXRmb3JtIHZpZXcuIEJ5IGRlZmF1bHQsIGluIGV4dHJh
IHpvb20gbW9kZSwgdGhpcyAqbm90KiB0aGUgc2FtZSBhcyB0aGUgbWluaW11bSBsYXlvdXQKKyAg
ICAgICAgc2l6ZSwgc2luY2Ugd2UgbGF5IG91dCBhdCBhIGxhcmdlIHdpZHRoIGFuZCB0aGVuIHNo
cmluayBkb3duIHRvIHJlYWwgZGV2aWNlIGRpbWVuc2lvbnMgd2hlbiBjb21wdXRpbmcgdGhlCisg
ICAgICAgIGluaXRpYWwgc2NhbGUgKHNlZSByMjI5MDYzKS4KKworICAgICAgICBWaWV3R2VzdHVy
ZUdlb21ldHJ5Q29sbGVjdG9yIHVzZXMgdGhpcyBpbiB0aGUgcHJvY2VzcyBvZiBjb21wdXRpbmcg
YSB0YXJnZXQgem9vbSBzY2FsZSB3aGVuIGRvdWJsZSB0YXBwaW5nLgorCisgICAgICAgICogcGFn
ZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZXdwb3J0Q29u
ZmlndXJhdGlvbjo6dmlld1NpemUgY29uc3QpOgorCiAyMDE4LTA0LTAzICBTZXJnaW8gVmlsbGFy
IFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtPcGVuVlJdW1dlYlZSXSBS
ZXRyaWV2ZSBGcmFtZURhdGEgaW4gV2ViVlIncyByQUYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTI2NjgzNGNmYmY3
MGUzN2Q2YTdhZWUwYTQ5MzUwYzI5MDkzZjFlNi4uNjRhZWM3MjgzYWJhZGEzMWQwMmY3NTM2NWY4
OGQ3MzU0MzJkNTQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxOC0wNC0wOSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbRXh0cmEgem9v
bSBtb2RlXSBBZGQgYSBtZWNoYW5pc20gdG8gem9vbSB0byBmaXhlZCBzY2FsZXMgd2hlbiBkb3Vi
bGUgdGFwcGluZyBpbiBleHRyYSB6b29tIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDQzNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzg3
MjYyNjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkcyBzdXBwb3J0IGZvciBhbiBhbHRlcm5hdGUgY29kZXBhdGggd2hlbiBjb21wdXRpbmcgYSB6
b29tIHJlY3Qgd2hlbiBkb3VibGUgdGFwcGluZyB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgaGl0LQor
ICAgICAgICB0ZXN0ZWQgbm9kZSBpbnRvIGFjY291bnQsIGFuZCBpbnN0ZWFkIGN5Y2xlcyB0aGUg
em9vbSBzY2FsZSBiZXR3ZWVuIDIgZml4ZWQgdmFsdWVzIChpbiBhZGRpdGlvbiB0byB0aGUgaW5p
dGlhbAorICAgICAgICBzY2FsZSkuIEluIHRoZSBuZXh0IHBhdGNoLCB0aGVzZSBmaXhlZCBzY2Fs
ZXMgd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IGNvbXB1dGluZyB6b29tIHNjYWxlcyBuZWVkZWQgdG8g
bWFrZSBtb3N0IG9mCisgICAgICAgIHRoZSB0ZXh0IG9uIHRoZSBwYWdlIGxlZ2libGUgKGkuZS4g
dGhlIGZpcnN0IHRleHQgbGVnaWJpbGl0eSB6b29tIHNjYWxlKSwgYW5kIGFub3RoZXIgdG8gbWFr
ZSBhbGwgb2YgdGhlIHRleHQgb24KKyAgICAgICAgdGhlIHBhZ2UgbGVnaWJsZSwgd2l0aCB0aGUg
ZXhjZXB0aW9uIG9mIG91dGxpZXJzICh0aGlzIGlzIHRoZSBzZWNvbmQgdGV4dCBsZWdpYmlsaXR5
IHpvb20gc2NhbGUpLgorCisgICAgICAgIFNlZSBjb21tZW50cyBiZWxvdyBmb3IgbW9yZSBkZXRh
aWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRp
b25Db250cm9sbGVyLm1tOgorICAgICAgICAoV2ViS2l0OjpTbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlG
b3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmRpc3BhdGNoRGlkQ29sbGVjdEdlb21ldHJ5Rm9y
U21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZSk6CisKKyAgICAgICAgUmVuYW1lIHRoZSBib29sZWFu
IGBpc1JlcGxhY2VkRWxlbWVudGAgYXJndW1lbnQgdG8gYGZpdEVudGlyZVJlY3RgIGluc3RlYWQu
IFRoZSBVSSBwcm9jZXNzIG9ubHkgdXNlcyB0aGlzIG9uIGlPUworICAgICAgICB0byBkZXRlcm1p
bmUgd2hldGhlciBvciBub3QgdG8gZml0IHRoZSBlbnRpcmUgZWxlbWVudCByZWN0IHRvIHRoZSB2
aWV3cG9ydCBhbmQgYWRkIHBhZGRpbmcuIFRoaXMgcGF0Y2ggcmVuYW1lcworICAgICAgICB0aGlz
IHZhcmlhYmxlIGJlY2F1c2Ugd2UgYXJlIG5vdCB6b29taW5nIHRvIGEgcmVwbGFjZWQgZWxlbWVu
dCBpbiB0aGUgY2FzZSB3aGVyZSB0ZXh0IGxlZ2liaWxpdHkgb24gdGhlIHBhZ2UKKyAgICAgICAg
KHJhdGhlciB0aGFuIGVsZW1lbnQgZ2VvbWV0cnkpIGlzIGJlaW5nIHVzZWQgdG8gZmlndXJlIG91
dCB0aGUgem9vbSBzY2FsZSwgYnV0IHdlIHN0aWxsIHdhbnQgdG8gZml0IHRoZSBlbnRpcmUKKyAg
ICAgICAgdGFyZ2V0IHJlY3QgdG8gdGhlIHZpZXdwb3J0LgorCisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlm
aWNhdGlvbkdlc3R1cmUpOgorCisgICAgICAgIElmIHRleHQgbGVnaWJsaXR5IHpvb20gc2NhbGlu
ZyBpcyBwcmVmZXJyZWQsIHRoZW4gY29tcHV0ZSBmaXJzdCBhbmQgc2Vjb25kLWxldmVsIHRleHQg
bGVnaWJpbGl0eSB6b29tIHNjYWxlcyB0bworICAgICAgICB6b29tIHRvIHVwb24gZG91YmxlIHRh
cCAod2hlcmUgdGhlIHNlY29uZCB6b29tIHNjYWxlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgZmlyc3Qp
LiBUbyBjaG9vc2UgYSB0YXJnZXQgem9vbQorICAgICAgICBzY2FsZSwgY2hvb3NlIHRoZSBsb3dl
c3QgdGFyZ2V0IHpvb20gc2NhbGUgdGhhdCBpcyBhdCBsZWFzdCBhIHNtYWxsIGFtb3VudCBsZXNz
IHRoYW4gdGhlIGN1cnJlbnQgc2NhbGUuIElmCisgICAgICAgIG5laXRoZXIgb2YgdGhlIHR3byBz
Y2FsZXMgZnVsZmlsbCB0aGlzIGRlc2NyaXB0aW9uLCB0aGVuIHpvb20gYmFjayBvdXQgdG8gdGhl
IGluaXRpYWwgc2NhbGUuIFRoaXMgaGFzIHRoZSBlZmZlY3QKKyAgICAgICAgb2YgY29uc2lzdGVu
dGx5IGN5Y2xpbmcgYmV0d2VlbiBhbGwgdGhyZWUgem9vbSBzY2FsZXMgYXMgdGhlIHVzZXIgZG91
YmxlIHRhcHMuCisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
cjo6Y29tcHV0ZVRleHRMZWdpYmlsaXR5U2NhbGVzKToKKworICAgICAgICBJbnRyb2R1Y2UgYSBu
ZXcgaGVscGVyIG1ldGhvZCB0aGF0IGNvbXB1dGVzIGFuZCBjYWNoZXMgdGFyZ2V0IHNjYWxlcyB0
byB6b29tIHRvIHdoZW4gZG91YmxlIHRhcHBpbmcgdG8gem9vbS4gSWYKKyAgICAgICAgYSBjYWNo
ZWQgcGFpciBvZiB0YXJnZXQgc2NhbGVzIGlzIGFscmVhZHkgcHJlc2VudCwgaXQgc2tpcHMgdGhp
cyBjb21wdXRhdGlvbiBhbmQgaW1tZWRpYXRlbHkgcmV0dXJucyBpdC4KKworICAgICAgICAoV2Vi
S2l0OjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpjb21wdXRlWm9vbUluZm9ybWF0aW9u
Rm9yTm9kZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6
OmNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2NhbGVzIGNvbnN0KToKKworICAgICAg
ICBGYWN0b3Igb3V0IGxvZ2ljIHRvIGNvbXB1dGUgbWluIGFuZCBtYXggem9vbSBzY2FsZXMgaW50
byBhIHNlcGFyYXRlIGhlbHBlciwgYW5kIGNhbGwgaXQgZnJvbSBib3RoCisgICAgICAgIGNvbXB1
dGVab29tSW5mb3JtYXRpb25Gb3JOb2RlIGFuZCBjb21wdXRlVGV4dExlZ2liaWxpdHlTY2FsZXMu
CisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6bWFpbkZy
YW1lRGlkTGF5b3V0KToKKworICAgICAgICBJbnZhbGlkYXRlIGNhY2hlZCB0ZXh0IGxlZ2liaWxp
dHkgc2NhbGVzIHdoZW4gbGF5b3V0IGlzIHRyaWdnZXJlZC4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpt
YWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbiBjb25z
dCk6CisKKyAgICAgICAgRXhwb3NlIFdlYlBhZ2UncyBWaWV3cG9ydENvbmZpZ3VyYXRpb24gYXMg
YSBjb25zdCByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyc1Rl
eHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZyBjb25zdCk6CisKKyAgICAgICAgQWRkcyBhIHBs
YXRmb3JtIGhvb2sgZm9yIG9wdGluZyBpbnRvIHRleHQtbGVnaWJpbGl0eS1iYXNlZCB6b29tIHNj
YWxpbmcgaW5zdGVhZCBvZiByZWd1bGFyIGhpdC10ZXN0aW5nLWJhc2VkCisgICAgICAgIHpvb20g
c2NhbGluZyBoZXVyaXN0aWNzLgorCiAyMDE4LTA0LTA4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIFN1cHBvcnQgcHVz
aGluZyBpbnB1dCB2aWV3IGNvbnRyb2xsZXJzIG9udG8gdGhlIG5hdmlnYXRpb24gc3RhY2sKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oCmluZGV4IGVlZWQ2NGNj
OGJhNWUyNDczMDBlYmQzZDU2OGFmMWNiZTUyMjM1N2UuLmYwMjhjOWIwYTRkNjU1ZWNhNjg3MGQz
ZTI4M2VhN2MxY2UyZTc1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3Bv
cnRDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZp
Z3VyYXRpb24uaApAQCAtNzQsNiArNzQsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW50U2l6ZSYg
Y29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2l6ZTsgfQogICAgIFdFQkNP
UkVfRVhQT1JUIGJvb2wgc2V0Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmKTsKIAorICAgIFdF
QkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSB2aWV3U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld1Np
emU7IH0KKwogICAgIGNvbnN0IEZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUoKSBjb25zdCB7
IHJldHVybiBtX21pbmltdW1MYXlvdXRTaXplOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBz
ZXRNaW5pbXVtTGF5b3V0U2l6ZShjb25zdCBGbG9hdFNpemUmLCBjb25zdCBGbG9hdFNpemUmIHZp
ZXdTaXplKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCA3ZjYzMDlhNTM3NWQ3ZWM4ZjA1YmU2MjEyMTMxY2Iz
NWJmZGNkZjAzLi5hNzEzYTM0ZjVmNTRhZmE3YzM1NTQwZDhmY2M4MDBhNmE5NTRmNzdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIuaApAQCAtMTkxLDcgKzE5MSw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBkaWRDb2xsZWN0R2VvbWV0cnlGb3JN
YWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRCb3Vu
ZHMsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpOwotICAgIHZvaWQgZGlk
Q29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgZG91
YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwor
ICAgIHZvaWQgZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3Qs
IFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBmaXRFbnRpcmVS
ZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1T
Y2FsZSk7CiAKICAgICB2b2lkIGVuZE1hZ25pZmljYXRpb25HZXN0dXJlKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5tZXNzYWdlcy5pbgppbmRleCBmNTFmZDJkNzZjNDk1MDJkYWE3YjNmY2Q2NWE3YzNl
MTZhNmMyNzcyLi5iYjFiYWYzNjE5NDk0MDM0MTZjODgxOWVjMjc1NDU4YzIzYzJmYzljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiBtZXNzYWdlcyAt
PiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEaWRDb2xs
ZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUp
Ci0gICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdl
YkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBpc1JlcGxhY2VkRWxl
bWVudCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVt
U2NhbGUpCisgICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVy
ZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJl
Y3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBmaXRFbnRp
cmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGlt
dW1TY2FsZSkKICAgICBEaWRIaXRSZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCgpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRp
b25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZp
Y2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDI5ZWRiOTRmN2EyODAyN2Y1ZTZhMmRmOTIxYjI2MjYz
MjZkNzJkNzcuLjU3NTRhYjlmYjYyYmRjMDcxZGJjNTJmZTFkYjU4YTNmZDhjNzM2NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNh
dGlvbkNvbnRyb2xsZXIuaApAQCAtNTIsNyArNTIsNyBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6
TWVzc2FnZVJlY2VpdmVyLgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGRpZENvbGxlY3RHZW9t
ZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4sIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9y
dE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGRp
ZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4sIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpG
bG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgZml0RW50aXJlUmVjdCwgZG91Ymxl
IHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogICAg
IHZvaWQgbWFnbmlmeShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGRv
dWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsK
ICAgICB2b2lkIGFkanVzdFNtYXJ0TWFnbmlmaWNhdGlvblRhcmdldFJlY3RBbmRab29tU2NhbGVz
KGJvb2wgYWRkTWFnbmlmaWNhdGlvblBhZGRpbmcsIFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0
UmVjdCwgZG91YmxlJiBtaW5pbXVtU2NhbGUsIGRvdWJsZSYgbWF4aW11bVNjYWxlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgppbmRleCA2YjVmMDE3NTQxY2JlODZm
MzhjNTllYjI3N2IzZThiYzY4YmMwMTQ1Li5hZDQ2ODc5MzI5ZDI5NmU2MDdmMjhmNjU5YmY2OGYx
ZDA5NTAxMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgpAQCAt
MjMsNyArMjMsNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogbWVzc2FnZXMgLT4gU21hcnRNYWdu
aWZpY2F0aW9uQ29udHJvbGxlciB7Ci0gICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWdu
aWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5k
cywgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBk
b3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpCisgICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21h
cnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29y
ZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVu
dEJvdW5kcywgYm9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUs
IGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKICAgICBNYWduaWZ5KFdlYkNvcmU6OkZsb2F0
UG9pbnQgb3JpZ2luLCBXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBk
b3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KaW5k
ZXggOWRiOGMzNGZhYzRjYjFiNDI5ZTBlNmI1ZTQxYjhhNWUyOTM3OWE4MC4uNTYzMTM5OGJjNDYw
OGM5YTYzNmY0MDUyMmU2ODE3ODY3OTdhMjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KQEAg
LTg5LDcgKzg5LDcgQEAgdm9pZCBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOjphZGp1c3RT
bWFydE1hZ25pZmljYXRpb25UYXJnZXRSZWN0QW5kWm9vbVNjYWwKICAgICBtYXhpbXVtU2NhbGUg
PSBzdGQ6Om1pbihtYXhpbXVtU2NhbGUsIHNtYXJ0TWFnbmlmaWNhdGlvbk1heGltdW1TY2FsZSk7
CiB9CiAKLXZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21l
dHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGbG9hdFBvaW50IG9yaWdpbiwgRmxvYXRS
ZWN0IHRhcmdldFJlY3QsIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgaXNSZXBs
YWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0
TWF4aW11bVNjYWxlKQordm9pZCBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOjpkaWRDb2xs
ZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2lu
LCBGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9v
bCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3
cG9ydE1heGltdW1TY2FsZSkKIHsKICAgICBpZiAodGFyZ2V0UmVjdC5pc0VtcHR5KCkpIHsKICAg
ICAgICAgLy8gRklYTUU6IElmIHdlIGRvbid0IHpvb20sIHNlbmQgdGhlIHRhcCBhbG9uZyB0byB0
ZXh0IHNlbGVjdGlvbiAoc2VlIDxyZGFyOi8vcHJvYmxlbS82ODEwMzQ0PikuCkBAIC05OCw3ICs5
OCw3IEBAIHZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21l
dHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyCiAgICAgfQogICAgIGRvdWJsZSBtaW5pbXVt
U2NhbGUgPSB2aWV3cG9ydE1pbmltdW1TY2FsZTsKICAgICBkb3VibGUgbWF4aW11bVNjYWxlID0g
dmlld3BvcnRNYXhpbXVtU2NhbGU7Ci0gICAgYWRqdXN0U21hcnRNYWduaWZpY2F0aW9uVGFyZ2V0
UmVjdEFuZFpvb21TY2FsZXMoIWlzUmVwbGFjZWRFbGVtZW50LCB0YXJnZXRSZWN0LCBtaW5pbXVt
U2NhbGUsIG1heGltdW1TY2FsZSk7CisgICAgYWRqdXN0U21hcnRNYWduaWZpY2F0aW9uVGFyZ2V0
UmVjdEFuZFpvb21TY2FsZXMoIWZpdEVudGlyZVJlY3QsIHRhcmdldFJlY3QsIG1pbmltdW1TY2Fs
ZSwgbWF4aW11bVNjYWxlKTsKIAogICAgIC8vIEZJWE1FOiBDaGVjayBpZiB0ZXh0IHNlbGVjdGlv
biB3YW50cyB0byBjb25zdW1lIHRoZSBkb3VibGUgdGFwIGJlZm9yZSB3ZSBhdHRlbXB0IG1hZ25p
ZmljYXRpb24uCiAKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIFNtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXI6OmRpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cgog
ICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBsaWtlIGltYWdlcywgd2Ugd2FudCB0byBmaXQg
dGhlIHdob2xlIGVsZW1lbnQKICAgICAvLyBpbiB0aGUgdmlldywgc28gc2NhbGUgaXQgZG93biBl
bm91Z2ggdG8gbWFrZSBib3RoIGRpbWVuc2lvbnMgZml0IGlmIHBvc3NpYmxlLgogICAgIC8vIEZv
ciBvdGhlciBlbGVtZW50cywgdHJ5IHRvIGZpdCB0aGVtIGhvcml6b250YWxseS4KLSAgICBpZiAo
W21fY29udGVudFZpZXcgX3pvb21Ub1JlY3Q6dGFyZ2V0UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBm
aXRFbnRpcmVSZWN0OmlzUmVwbGFjZWRFbGVtZW50IG1pbmltdW1TY2FsZTptaW5pbXVtU2NhbGUg
bWF4aW11bVNjYWxlOm1heGltdW1TY2FsZSBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6bWluaW11bVNj
cm9sbERpc3RhbmNlXSkKKyAgICBpZiAoW21fY29udGVudFZpZXcgX3pvb21Ub1JlY3Q6dGFyZ2V0
UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBmaXRFbnRpcmVSZWN0OmZpdEVudGlyZVJlY3QgbWluaW11
bVNjYWxlOm1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6bWF4aW11bVNjYWxlIG1pbmltdW1TY3Jv
bGxEaXN0YW5jZTptaW5pbXVtU2Nyb2xsRGlzdGFuY2VdKQogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBGSVhNRTogSWYgd2Ugc3RpbGwgZG9uJ3Qgem9vbSwgc2VuZCB0aGUgdGFwIGFsb25nIHRv
IHRleHQgc2VsZWN0aW9uIChzZWUgPHJkYXI6Ly9wcm9ibGVtLzY4MTAzNDQ+KS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFj
Lm1tCmluZGV4IDAzMjZjMzQ0MDNiN2EwMjVlZDY3YmI2ZWFiMDZiZjY1NmRkNTA5MjEuLmU0YzE5
MWMzZDA5NzVmMGMyNzFmYzc4MTY4MDhkZTZiOGIxNzYzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpAQCAt
MjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBmbG9hdCBtYXhpbXVtUmVjdGFuZ2xlQ29tcG9uZW50RGVs
dGEoRmxvYXRSZWN0IGEsIEZsb2F0UmVjdCBiKQogICAgIHJldHVybiBzdGQ6Om1heChzdGQ6OmFi
cyhhLngoKSAtIGIueCgpKSwgc3RkOjptYXgoc3RkOjphYnMoYS55KCkgLSBiLnkoKSksIHN0ZDo6
bWF4KHN0ZDo6YWJzKGEud2lkdGgoKSAtIGIud2lkdGgoKSksIHN0ZDo6YWJzKGEuaGVpZ2h0KCkg
LSBiLmhlaWdodCgpKSkpKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRpZENv
bGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoRmxvYXRQb2ludCBvcmln
aW4sIEZsb2F0UmVjdCByZW5kZXJSZWN0LCBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBi
b29sIGlzUmVwbGFjZWRFbGVtZW50LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJs
ZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRD
b2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3Jp
Z2luLCBGbG9hdFJlY3QgcmVuZGVyUmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwg
Ym9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2
aWV3cG9ydE1heGltdW1TY2FsZSkKIHsKICAgICBkb3VibGUgY3VycmVudFNjYWxlRmFjdG9yID0g
bV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCk7CiAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWdu
aWZpY2F0aW9uR2VzdHVyZShGbG9hdAogCiAgICAgLy8gRm9yIHJlcGxhY2VkIGVsZW1lbnRzIGxp
a2UgaW1hZ2VzLCB3ZSB3YW50IHRvIGZpdCB0aGUgd2hvbGUgZWxlbWVudAogICAgIC8vIGluIHRo
ZSB2aWV3LCBzbyBzY2FsZSBpdCBkb3duIGVub3VnaCB0byBtYWtlIGJvdGggZGltZW5zaW9ucyBm
aXQgaWYgcG9zc2libGUuCi0gICAgaWYgKGlzUmVwbGFjZWRFbGVtZW50KQorICAgIGlmIChmaXRF
bnRpcmVSZWN0KQogICAgICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4odGFyZ2V0
TWFnbmlmaWNhdGlvbiwgc3RhdGljX2Nhc3Q8ZG91YmxlPih2aXNpYmxlQ29udGVudFJlY3QuaGVp
Z2h0KCkgLyB2aWV3cG9ydENvbnN0cmFpbmVkVW5zY2FsZWRUYXJnZXRSZWN0LmhlaWdodCgpKSk7
CiAKICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4oc3RkOjptYXgodGFyZ2V0TWFn
bmlmaWNhdGlvbiwgbWluTWFnbmlmaWNhdGlvbiksIG1heE1hZ25pZmljYXRpb24pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRy
eUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2Vz
dHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcAppbmRleCAzYTRhNmExYTdjMzA4Yzg3ZjQzYWE2MDFl
OGI4MDUwMTViOTRiMWU2Li4wZWM4MjIzZjAxMzVkNjg5YjdiMzcyZDllMTdkY2M0Y2Q5ZWQ0ZGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVy
ZUdlb21ldHJ5Q29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcApAQCAtNjQsMTMgKzY0LDEzIEBA
IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6On5WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV93ZWJQYWdlLnBhZ2VJRCgpKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yOjpkaXNwYXRjaERpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlv
bkdlc3R1cmUoRmxvYXRQb2ludCBvcmlnaW4sIEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFJl
Y3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBib29sIGlzUmVwbGFjZWRFbGVtZW50LCBkb3VibGUgdmll
d3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKK3ZvaWQgVmll
d0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6ZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JT
bWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2luLCBGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9vbCBmaXRFbnRpcmVSZWN0
LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2Fs
ZSkKIHsKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6RGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0
aW9uR2VzdHVyZShvcmlnaW4sIHRhcmdldFJlY3QsIHZpc2libGVDb250ZW50UmVjdCwgaXNSZXBs
YWNlZEVsZW1lbnQsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSkp
OworICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRp
ZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luLCB0YXJn
ZXRSZWN0LCB2aXNpYmxlQ29udGVudFJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11
bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSkpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9T
KQotICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpTbWFydE1hZ25pZmljYXRpb25Db250cm9s
bGVyOjpEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKG9yaWdp
biwgdGFyZ2V0UmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0LCBpc1JlcGxhY2VkRWxlbWVudCwgdmll
d3BvcnRNaW5pbXVtU2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKSk7CisgICAgbV93ZWJQYWdl
LnNlbmQoTWVzc2FnZXM6OlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXI6OkRpZENvbGxlY3RH
ZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luLCB0YXJnZXRSZWN0LCB2
aXNpYmxlQ29udGVudFJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2
aWV3cG9ydE1heGltdW1TY2FsZSkpOwogI2VuZGlmCiB9CiAKQEAgLTgxLDYgKzgxLDM0IEBAIHZv
aWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRN
YWduaWZpY2F0aW9uR2VzdHVyZShGCiAgICAgaWYgKG1fd2ViUGFnZS5tYWluV2ViRnJhbWUoKS0+
aGFuZGxlc1BhZ2VTY2FsZUdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgZG91Ymxl
IHZpZXdwb3J0TWluaW11bVNjYWxlOworICAgIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZTsK
KworI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAobV93ZWJQYWdlLnBsYXRmb3JtUHJlZmVyc1Rl
eHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZygpKSB7CisgICAgICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgbWluaW11bVNjYWxlRGlmZmVyZW5jZUZvclpvb21pbmcgPSAwLjA1OworCisgICAgICAg
IGF1dG8gdGV4dExlZ2liaWxpdHlTY2FsZXMgPSBjb21wdXRlVGV4dExlZ2liaWxpdHlTY2FsZXMo
dmlld3BvcnRNaW5pbXVtU2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICAgICAgaWYg
KCF0ZXh0TGVnaWJpbGl0eVNjYWxlcykgeworICAgICAgICAgICAgZGlzcGF0Y2hEaWRDb2xsZWN0
R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKHsgfSwgeyB9LCB7IH0sIGZhbHNl
LCAwLCAwKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZsb2F0
IHRhcmdldFNjYWxlID0gbV93ZWJQYWdlLnZpZXdwb3J0Q29uZmlndXJhdGlvbigpLmluaXRpYWxT
Y2FsZSgpOworICAgICAgICBmbG9hdCBjdXJyZW50U2NhbGUgPSBtX3dlYlBhZ2UucGFnZVNjYWxl
RmFjdG9yKCk7CisgICAgICAgIGlmIChjdXJyZW50U2NhbGUgPCB0ZXh0TGVnaWJpbGl0eVNjYWxl
cy0+Zmlyc3QgLSBtaW5pbXVtU2NhbGVEaWZmZXJlbmNlRm9yWm9vbWluZykKKyAgICAgICAgICAg
IHRhcmdldFNjYWxlID0gdGV4dExlZ2liaWxpdHlTY2FsZXMtPmZpcnN0OworICAgICAgICBlbHNl
IGlmIChjdXJyZW50U2NhbGUgPCB0ZXh0TGVnaWJpbGl0eVNjYWxlcy0+c2Vjb25kIC0gbWluaW11
bVNjYWxlRGlmZmVyZW5jZUZvclpvb21pbmcpCisgICAgICAgICAgICB0YXJnZXRTY2FsZSA9IHRl
eHRMZWdpYmlsaXR5U2NhbGVzLT5zZWNvbmQ7CisKKyAgICAgICAgRmxvYXRSZWN0IHRhcmdldFJl
Y3RJbkNvbnRlbnRDb29yZGluYXRlcyB7IG9yaWdpbiwgRmxvYXRTaXplKCkgfTsKKyAgICAgICAg
dGFyZ2V0UmVjdEluQ29udGVudENvb3JkaW5hdGVzLmluZmxhdGUobV93ZWJQYWdlLnZpZXdwb3J0
Q29uZmlndXJhdGlvbigpLnZpZXdTaXplKCkgLyAoMiAqIHRhcmdldFNjYWxlKSk7CisKKyAgICAg
ICAgZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJl
KG9yaWdpbiwgdGFyZ2V0UmVjdEluQ29udGVudENvb3JkaW5hdGVzLCB2aXNpYmxlQ29udGVudFJl
Y3QsIHRydWUsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorCiAgICAgSW50
UG9pbnQgb3JpZ2luSW5Db250ZW50c1NwYWNlID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+
d2luZG93VG9Db250ZW50cyhyb3VuZGVkSW50UG9pbnQob3JpZ2luKSk7CiAgICAgSGl0VGVzdFJl
c3VsdCBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdChvcmlnaW5JbkNvbnRlbnRzU3BhY2Up
OwogCkBAIC05MywxMyArMTIxLDM4IEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
cjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGCiAKICAgICBi
b29sIGlzUmVwbGFjZWQ7CiAgICAgRmxvYXRSZWN0IHJlbmRlclJlY3Q7Ci0gICAgZG91YmxlIHZp
ZXdwb3J0TWluaW11bVNjYWxlOwotICAgIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZTsKIAog
ICAgIGNvbXB1dGVab29tSW5mb3JtYXRpb25Gb3JOb2RlKCpub2RlLCBvcmlnaW4sIHJlbmRlclJl
Y3QsIGlzUmVwbGFjZWQsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2Fs
ZSk7CiAgICAgZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25H
ZXN0dXJlKG9yaWdpbiwgcmVuZGVyUmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0LCBpc1JlcGxhY2Vk
LCB2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogfQogCisjaWYg
UExBVEZPUk0oSU9TKQorCitzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+
IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbXB1dGVUZXh0TGVnaWJpbGl0eVNjYWxl
cyhkb3VibGUmIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUmIHZpZXdwb3J0TWF4aW11bVNj
YWxlKQoreworICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdE1heGltdW1UZXh0TGVnaWJp
bGl0eVNjYWxlID0gMTsKKworICAgIGNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2Nh
bGVzKHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7CisgICAgaWYg
KG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXMpCisgICAgICAgIHJldHVybiBtX2NhY2hlZFRl
eHRMZWdpYmlsaXR5U2NhbGVzOworCisgICAgYXV0byBkb2N1bWVudCA9IG1ha2VSZWZQdHIobV93
ZWJQYWdlLm1haW5GcmFtZSgpLT5kb2N1bWVudCgpKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOworCisgICAgLy8gRklYTUU6IERldGVybWluZSBhcHByb3ByaWF0ZSB0
ZXh0IGxlZ2liaWxpdHkgc2NhbGVzIGJ5IGV4YW1pbmluZyB0ZXh0IHJ1bnMgaW4gdGhlIGRvY3Vt
ZW50LiBGb3Igbm93LCBoYXJkIGNvZGUgdGhlIHNlY29uZCB0ZXh0IGxlZ2liaWxpdHkgc2NhbGUg
dG8gYmUgMSwKKyAgICAvLyBhbmQgc2V0IHRoZSBmaXJzdCB0ZXh0IGxlZ2liaWxpdHkgc2NhbGUg
dG8gYmUgdGhlIGhhbGZ3YXkgcG9pbnQgYmV0d2VlbiB0aGUgaW5pdGlhbCBzY2FsZSBhbmQgMS4K
KyAgICBkb3VibGUgZmlyc3RUZXh0TGVnaWJpbGl0eVNjYWxlID0gY2xhbXBUbzxkb3VibGU+KCht
X3dlYlBhZ2Uudmlld3BvcnRDb25maWd1cmF0aW9uKCkuaW5pdGlhbFNjYWxlKCkgKyBkZWZhdWx0
TWF4aW11bVRleHRMZWdpYmlsaXR5U2NhbGUpIC8gMiwgdmlld3BvcnRNaW5pbXVtU2NhbGUsIHZp
ZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICBkb3VibGUgc2Vjb25kVGV4dExlZ2liaWxpdHlTY2Fs
ZSA9IGNsYW1wVG88ZG91YmxlPihkZWZhdWx0TWF4aW11bVRleHRMZWdpYmlsaXR5U2NhbGUsIHZp
ZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7CisKKyAgICBtX2NhY2hl
ZFRleHRMZWdpYmlsaXR5U2NhbGVzID0gc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8ZG91YmxlLCBk
b3VibGU+PiB7eyBmaXJzdFRleHRMZWdpYmlsaXR5U2NhbGUsIHNlY29uZFRleHRMZWdpYmlsaXR5
U2NhbGUgfX07CisgICAgcmV0dXJuIG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXM7Cit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3Rvcjo6Y29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoTm9kZSYgbm9kZSwgRmxvYXRQb2lu
dCYgb3JpZ2luLCBGbG9hdFJlY3QmIHJlbmRlclJlY3QsIGJvb2wmIGlzUmVwbGFjZWQsIGRvdWJs
ZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2NhbGUpCiB7
CiAgICAgcmVuZGVyUmVjdCA9IG5vZGUucmVuZGVyUmVjdCgmaXNSZXBsYWNlZCk7CkBAIC0xMTcs
NiArMTcwLDExIEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Y29tcHV0ZVpv
b21JbmZvcm1hdGlvbkZvck5vZGUoTm9kZSYgbm9kZSwgRmxvCiAgICAgICAgICAgICBpc1JlcGxh
Y2VkID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KKyAgICBjb21wdXRlTWluaW11bUFuZE1heGlt
dW1WaWV3cG9ydFNjYWxlcyh2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRNYXhpbXVtU2Nh
bGUpOworfQorCit2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbXB1dGVNaW5p
bXVtQW5kTWF4aW11bVZpZXdwb3J0U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUs
IGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2NhbGUpIGNvbnN0Cit7CiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHZpZXdwb3J0TWluaW11bVNjYWxlID0gMDsKICAgICB2aWV3cG9ydE1heGltdW1TY2Fs
ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CkBAIC0xMzMsMTUgKzE5MSwy
MCBAQCB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZv
ck1hZ25pZmljYXRpb25HZXN0dXJlKCkKICAgICBib29sIGZyYW1lSGFuZGxlc01hZ25pZmljYXRp
b25HZXN0dXJlID0gbV93ZWJQYWdlLm1haW5XZWJGcmFtZSgpLT5oYW5kbGVzUGFnZVNjYWxlR2Vz
dHVyZSgpOwogICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xs
ZXI6OkRpZENvbGxlY3RHZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKHZpc2libGVDb250
ZW50UmVjdCwgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpKTsKIH0KKyNlbmRpZgog
CiB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1haW5GcmFtZURpZExheW91dCgp
CiB7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXMu
cmVzZXQoKTsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9yZW5kZXJUcmVl
U2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCAmJiBtX3dlYlBhZ2UucmVuZGVyVHJlZVNpemUoKSA+
PSBtX3JlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uVGhyZXNob2xkKSB7CiAgICAgICAgIG1fd2Vi
UGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRpZEhpdFJlbmRlclRy
ZWVTaXplVGhyZXNob2xkKCkpOwogICAgICAgICBtX3JlbmRlclRyZWVTaXplTm90aWZpY2F0aW9u
VGhyZXNob2xkID0gMDsKICAgICB9Ci19CiAjZW5kaWYKK30KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdH
ZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaAppbmRleCA2ZmZmNjUyMGZkMWZkODFi
NDVlMGEyYjJkZjA2MGMyOTM2ZmVjM2ViLi5jZWMwZTA0N2MwNDhiMjUzOWQ5OGI3NjYzYjBhMjRh
YjA0YmQ0Y2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9W
aWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oCkBAIC02MCwxNCArNjAs
MjIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uVGltZXJG
aXJlZCgpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpc3BhdGNoRGlkQ29sbGVjdEdlb21ldHJ5Rm9y
U21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29u
dGVudFJlY3QsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1T
Y2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGRpc3BhdGNoRGlk
Q29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgZml0RW50aXJlUmVjdCwgZG91YmxlIHZp
ZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogICAgIHZv
aWQgY29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoV2ViQ29yZTo6Tm9kZSYsIFdlYkNvcmU6
OkZsb2F0UG9pbnQmIG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0JiByZW5kZXJSZWN0LCBib29s
JiBpc1JlcGxhY2VkLCBkb3VibGUmIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUmIHZpZXdw
b3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdw
b3J0U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRN
YXhpbXVtU2NhbGUpIGNvbnN0OworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0ZDo6b3B0aW9u
YWw8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gY29tcHV0ZVRleHRMZWdpYmlsaXR5U2NhbGVz
KGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2Nh
bGUpOworI2VuZGlmCiAKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAKICNpZiBQTEFURk9STShN
QUMpCiAgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZDsK
ICNlbmRpZgorI2lmIFBMQVRGT1JNKElPUykKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxk
b3VibGUsIGRvdWJsZT4+IG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXM7CisjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YTVhNDEyZGNiNTRlYzFhZGYwNzc1MjljN2NlOWJhNDNj
ZjFiM2Q4Li45MmExMWFkODRjMjYxMzgxNGM1NWExMzZiMmU4YjlhZDFkODc1ZDc4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzgyMCw5ICsz
ODIwLDcgQEAgdm9pZCBXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQoKQogICAgICAgICBtX2Nh
Y2hlZFBhZ2VDb3VudCA9IHBhZ2VDb3VudDsKICAgICB9CiAKLSNpZiBQTEFURk9STShNQUMpCiAg
ICAgbV92aWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLT5tYWluRnJhbWVEaWRMYXlvdXQoKTsK
LSNlbmRpZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcg
PSBtYWluRnJhbWVWaWV3KCkpIHsKICAgICAgICAgSW50U2l6ZSBuZXdDb250ZW50U2l6ZSA9IGZy
YW1lVmlldy0+Y29udGVudHNTaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggYjI3NDc0YmJjMmNlMzIzNWViNDM1N2Y2YWQzYzVkOGFhODUxM2Qw
Yy4uNjIwNGRiZTk3ODhiZWI3OTljMDI3OGVkY2Q1YTU4NDQ4NjRlMDQ3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtODkxLDYgKzg5MSw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZChib29sIGlzU3Vz
cGVuZGVkVW5kZXJMb2NrKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7
CiAgICAgdm9pZCBjb21wbGV0ZVBlbmRpbmdTeW50aGV0aWNDbGlja0ZvckNvbnRlbnRDaGFuZ2VP
YnNlcnZlcigpOworCisgICAgYm9vbCBwbGF0Zm9ybVByZWZlcnNUZXh0TGVnaWJpbGl0eUJhc2Vk
Wm9vbVNjYWxpbmcoKSBjb25zdDsKKyAgICBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3Vy
YXRpb24mIHZpZXdwb3J0Q29uZmlndXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRD
b25maWd1cmF0aW9uOyB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5t
bQppbmRleCBmNzA2NWY1ZTBiY2QyNGQ1YTI4MjBhNzZhOTBiMDIzMjRkZjhiZGQxLi5lMDZjYzU2
NTA4MTZhNDY5MDRiZjIyODk0YmZmNzFjZWNkMjY2YzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMzQ3MSw2ICszNDcx
LDE1IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnQoY29uc3QgU3RyaW5nJiBwYXNzd29yZCkKIH0KICNlbmRpZgogCitib29sIFdlYlBhZ2U6OnBs
YXRmb3JtUHJlZmVyc1RleHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZygpIGNvbnN0Cit7Cisj
aWYgRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogdm9p
ZCBXZWJQYWdlOjpwcmVwYXJlVG9TZW5kVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QoKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337582</attachid>
            <date>2018-04-09 20:51:28 -0700</date>
            <delta_ts>2018-04-10 14:47:47 -0700</delta_ts>
            <desc>Fix WPE builds</desc>
            <filename>bug-184435-20180409205127.patch</filename>
            <type>text/plain</type>
            <size>26128</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU1OTNkY2Y4OWU0NWZi
NjM1YmU5Y2U5ZjdhNmIyZmQ1MDA0MjRkZS4uNmEzMmRlNjdlMjIzY2FkODYwMmRmODVhMDE4YjYz
OGM2YTA3NTFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29t
IG1vZGVdIEFkZCBhIG1lY2hhbmlzbSB0byB6b29tIHRvIGZpeGVkIHNjYWxlcyB3aGVuIGRvdWJs
ZSB0YXBwaW5nIGluIGV4dHJhIHpvb20gbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NDM1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODcy
NjI2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
eHBvc2UgdGhlIHNpemUgb2YgdGhlIHBsYXRmb3JtIHZpZXcuIEJ5IGRlZmF1bHQsIGluIGV4dHJh
IHpvb20gbW9kZSwgdGhpcyAqbm90KiB0aGUgc2FtZSBhcyB0aGUgbWluaW11bSBsYXlvdXQKKyAg
ICAgICAgc2l6ZSwgc2luY2Ugd2UgbGF5IG91dCBhdCBhIGxhcmdlIHdpZHRoIGFuZCB0aGVuIHNo
cmluayBkb3duIHRvIHJlYWwgZGV2aWNlIGRpbWVuc2lvbnMgd2hlbiBjb21wdXRpbmcgdGhlCisg
ICAgICAgIGluaXRpYWwgc2NhbGUgKHNlZSByMjI5MDYzKS4KKworICAgICAgICBWaWV3R2VzdHVy
ZUdlb21ldHJ5Q29sbGVjdG9yIHVzZXMgdGhpcyBpbiB0aGUgcHJvY2VzcyBvZiBjb21wdXRpbmcg
YSB0YXJnZXQgem9vbSBzY2FsZSB3aGVuIGRvdWJsZSB0YXBwaW5nLgorCisgICAgICAgICogcGFn
ZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZXdwb3J0Q29u
ZmlndXJhdGlvbjo6dmlld1NpemUgY29uc3QpOgorCiAyMDE4LTA0LTAzICBTZXJnaW8gVmlsbGFy
IFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtPcGVuVlJdW1dlYlZSXSBS
ZXRyaWV2ZSBGcmFtZURhdGEgaW4gV2ViVlIncyByQUYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTI2NjgzNGNmYmY3
MGUzN2Q2YTdhZWUwYTQ5MzUwYzI5MDkzZjFlNi4uNjRhZWM3MjgzYWJhZGEzMWQwMmY3NTM2NWY4
OGQ3MzU0MzJkNTQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxOC0wNC0wOSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbRXh0cmEgem9v
bSBtb2RlXSBBZGQgYSBtZWNoYW5pc20gdG8gem9vbSB0byBmaXhlZCBzY2FsZXMgd2hlbiBkb3Vi
bGUgdGFwcGluZyBpbiBleHRyYSB6b29tIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDQzNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzg3
MjYyNjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkcyBzdXBwb3J0IGZvciBhbiBhbHRlcm5hdGUgY29kZXBhdGggd2hlbiBjb21wdXRpbmcgYSB6
b29tIHJlY3Qgd2hlbiBkb3VibGUgdGFwcGluZyB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgaGl0LQor
ICAgICAgICB0ZXN0ZWQgbm9kZSBpbnRvIGFjY291bnQsIGFuZCBpbnN0ZWFkIGN5Y2xlcyB0aGUg
em9vbSBzY2FsZSBiZXR3ZWVuIDIgZml4ZWQgdmFsdWVzIChpbiBhZGRpdGlvbiB0byB0aGUgaW5p
dGlhbAorICAgICAgICBzY2FsZSkuIEluIHRoZSBuZXh0IHBhdGNoLCB0aGVzZSBmaXhlZCBzY2Fs
ZXMgd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IGNvbXB1dGluZyB6b29tIHNjYWxlcyBuZWVkZWQgdG8g
bWFrZSBtb3N0IG9mCisgICAgICAgIHRoZSB0ZXh0IG9uIHRoZSBwYWdlIGxlZ2libGUgKGkuZS4g
dGhlIGZpcnN0IHRleHQgbGVnaWJpbGl0eSB6b29tIHNjYWxlKSwgYW5kIGFub3RoZXIgdG8gbWFr
ZSBhbGwgb2YgdGhlIHRleHQgb24KKyAgICAgICAgdGhlIHBhZ2UgbGVnaWJsZSwgd2l0aCB0aGUg
ZXhjZXB0aW9uIG9mIG91dGxpZXJzICh0aGlzIGlzIHRoZSBzZWNvbmQgdGV4dCBsZWdpYmlsaXR5
IHpvb20gc2NhbGUpLgorCisgICAgICAgIFNlZSBjb21tZW50cyBiZWxvdyBmb3IgbW9yZSBkZXRh
aWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRp
b25Db250cm9sbGVyLm1tOgorICAgICAgICAoV2ViS2l0OjpTbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlG
b3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmRpc3BhdGNoRGlkQ29sbGVjdEdlb21ldHJ5Rm9y
U21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZSk6CisKKyAgICAgICAgUmVuYW1lIHRoZSBib29sZWFu
IGBpc1JlcGxhY2VkRWxlbWVudGAgYXJndW1lbnQgdG8gYGZpdEVudGlyZVJlY3RgIGluc3RlYWQu
IFRoZSBVSSBwcm9jZXNzIG9ubHkgdXNlcyB0aGlzIG9uIGlPUworICAgICAgICB0byBkZXRlcm1p
bmUgd2hldGhlciBvciBub3QgdG8gZml0IHRoZSBlbnRpcmUgZWxlbWVudCByZWN0IHRvIHRoZSB2
aWV3cG9ydCBhbmQgYWRkIHBhZGRpbmcuIFRoaXMgcGF0Y2ggcmVuYW1lcworICAgICAgICB0aGlz
IHZhcmlhYmxlIGJlY2F1c2Ugd2UgYXJlIG5vdCB6b29taW5nIHRvIGEgcmVwbGFjZWQgZWxlbWVu
dCBpbiB0aGUgY2FzZSB3aGVyZSB0ZXh0IGxlZ2liaWxpdHkgb24gdGhlIHBhZ2UKKyAgICAgICAg
KHJhdGhlciB0aGFuIGVsZW1lbnQgZ2VvbWV0cnkpIGlzIGJlaW5nIHVzZWQgdG8gZmlndXJlIG91
dCB0aGUgem9vbSBzY2FsZSwgYnV0IHdlIHN0aWxsIHdhbnQgdG8gZml0IHRoZSBlbnRpcmUKKyAg
ICAgICAgdGFyZ2V0IHJlY3QgdG8gdGhlIHZpZXdwb3J0LgorCisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlm
aWNhdGlvbkdlc3R1cmUpOgorCisgICAgICAgIElmIHRleHQgbGVnaWJsaXR5IHpvb20gc2NhbGlu
ZyBpcyBwcmVmZXJyZWQsIHRoZW4gY29tcHV0ZSBmaXJzdCBhbmQgc2Vjb25kLWxldmVsIHRleHQg
bGVnaWJpbGl0eSB6b29tIHNjYWxlcyB0bworICAgICAgICB6b29tIHRvIHVwb24gZG91YmxlIHRh
cCAod2hlcmUgdGhlIHNlY29uZCB6b29tIHNjYWxlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgZmlyc3Qp
LiBUbyBjaG9vc2UgYSB0YXJnZXQgem9vbQorICAgICAgICBzY2FsZSwgY2hvb3NlIHRoZSBsb3dl
c3QgdGFyZ2V0IHpvb20gc2NhbGUgdGhhdCBpcyBhdCBsZWFzdCBhIHNtYWxsIGFtb3VudCBsZXNz
IHRoYW4gdGhlIGN1cnJlbnQgc2NhbGUuIElmCisgICAgICAgIG5laXRoZXIgb2YgdGhlIHR3byBz
Y2FsZXMgZnVsZmlsbCB0aGlzIGRlc2NyaXB0aW9uLCB0aGVuIHpvb20gYmFjayBvdXQgdG8gdGhl
IGluaXRpYWwgc2NhbGUuIFRoaXMgaGFzIHRoZSBlZmZlY3QKKyAgICAgICAgb2YgY29uc2lzdGVu
dGx5IGN5Y2xpbmcgYmV0d2VlbiBhbGwgdGhyZWUgem9vbSBzY2FsZXMgYXMgdGhlIHVzZXIgZG91
YmxlIHRhcHMuCisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
cjo6Y29tcHV0ZVRleHRMZWdpYmlsaXR5U2NhbGVzKToKKworICAgICAgICBJbnRyb2R1Y2UgYSBu
ZXcgaGVscGVyIG1ldGhvZCB0aGF0IGNvbXB1dGVzIGFuZCBjYWNoZXMgdGFyZ2V0IHNjYWxlcyB0
byB6b29tIHRvIHdoZW4gZG91YmxlIHRhcHBpbmcgdG8gem9vbS4gSWYKKyAgICAgICAgYSBjYWNo
ZWQgcGFpciBvZiB0YXJnZXQgc2NhbGVzIGlzIGFscmVhZHkgcHJlc2VudCwgaXQgc2tpcHMgdGhp
cyBjb21wdXRhdGlvbiBhbmQgaW1tZWRpYXRlbHkgcmV0dXJucyBpdC4KKworICAgICAgICAoV2Vi
S2l0OjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpjb21wdXRlWm9vbUluZm9ybWF0aW9u
Rm9yTm9kZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6
OmNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2NhbGVzIGNvbnN0KToKKworICAgICAg
ICBGYWN0b3Igb3V0IGxvZ2ljIHRvIGNvbXB1dGUgbWluIGFuZCBtYXggem9vbSBzY2FsZXMgaW50
byBhIHNlcGFyYXRlIGhlbHBlciwgYW5kIGNhbGwgaXQgZnJvbSBib3RoCisgICAgICAgIGNvbXB1
dGVab29tSW5mb3JtYXRpb25Gb3JOb2RlIGFuZCBjb21wdXRlVGV4dExlZ2liaWxpdHlTY2FsZXMu
CisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6bWFpbkZy
YW1lRGlkTGF5b3V0KToKKworICAgICAgICBJbnZhbGlkYXRlIGNhY2hlZCB0ZXh0IGxlZ2liaWxp
dHkgc2NhbGVzIHdoZW4gbGF5b3V0IGlzIHRyaWdnZXJlZC4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpt
YWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbiBjb25z
dCk6CisKKyAgICAgICAgRXhwb3NlIFdlYlBhZ2UncyBWaWV3cG9ydENvbmZpZ3VyYXRpb24gYXMg
YSBjb25zdCByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyc1Rl
eHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZyBjb25zdCk6CisKKyAgICAgICAgQWRkcyBhIHBs
YXRmb3JtIGhvb2sgZm9yIG9wdGluZyBpbnRvIHRleHQtbGVnaWJpbGl0eS1iYXNlZCB6b29tIHNj
YWxpbmcgaW5zdGVhZCBvZiByZWd1bGFyIGhpdC10ZXN0aW5nLWJhc2VkCisgICAgICAgIHpvb20g
c2NhbGluZyBoZXVyaXN0aWNzLgorCiAyMDE4LTA0LTA4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIFN1cHBvcnQgcHVz
aGluZyBpbnB1dCB2aWV3IGNvbnRyb2xsZXJzIG9udG8gdGhlIG5hdmlnYXRpb24gc3RhY2sKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oCmluZGV4IGVlZWQ2NGNj
OGJhNWUyNDczMDBlYmQzZDU2OGFmMWNiZTUyMjM1N2UuLmYwMjhjOWIwYTRkNjU1ZWNhNjg3MGQz
ZTI4M2VhN2MxY2UyZTc1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3Bv
cnRDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZp
Z3VyYXRpb24uaApAQCAtNzQsNiArNzQsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW50U2l6ZSYg
Y29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2l6ZTsgfQogICAgIFdFQkNP
UkVfRVhQT1JUIGJvb2wgc2V0Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmKTsKIAorICAgIFdF
QkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSB2aWV3U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld1Np
emU7IH0KKwogICAgIGNvbnN0IEZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUoKSBjb25zdCB7
IHJldHVybiBtX21pbmltdW1MYXlvdXRTaXplOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBz
ZXRNaW5pbXVtTGF5b3V0U2l6ZShjb25zdCBGbG9hdFNpemUmLCBjb25zdCBGbG9hdFNpemUmIHZp
ZXdTaXplKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCA3ZjYzMDlhNTM3NWQ3ZWM4ZjA1YmU2MjEyMTMxY2Iz
NWJmZGNkZjAzLi5hNzEzYTM0ZjVmNTRhZmE3YzM1NTQwZDhmY2M4MDBhNmE5NTRmNzdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIuaApAQCAtMTkxLDcgKzE5MSw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBkaWRDb2xsZWN0R2VvbWV0cnlGb3JN
YWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRCb3Vu
ZHMsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpOwotICAgIHZvaWQgZGlk
Q29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgZG91
YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwor
ICAgIHZvaWQgZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3Qs
IFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBmaXRFbnRpcmVS
ZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1T
Y2FsZSk7CiAKICAgICB2b2lkIGVuZE1hZ25pZmljYXRpb25HZXN0dXJlKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5tZXNzYWdlcy5pbgppbmRleCBmNTFmZDJkNzZjNDk1MDJkYWE3YjNmY2Q2NWE3YzNl
MTZhNmMyNzcyLi5iYjFiYWYzNjE5NDk0MDM0MTZjODgxOWVjMjc1NDU4YzIzYzJmYzljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiBtZXNzYWdlcyAt
PiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEaWRDb2xs
ZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUp
Ci0gICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdl
YkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBpc1JlcGxhY2VkRWxl
bWVudCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVt
U2NhbGUpCisgICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVy
ZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJl
Y3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBmaXRFbnRp
cmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGlt
dW1TY2FsZSkKICAgICBEaWRIaXRSZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCgpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRp
b25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZp
Y2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDI5ZWRiOTRmN2EyODAyN2Y1ZTZhMmRmOTIxYjI2MjYz
MjZkNzJkNzcuLjU3NTRhYjlmYjYyYmRjMDcxZGJjNTJmZTFkYjU4YTNmZDhjNzM2NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNh
dGlvbkNvbnRyb2xsZXIuaApAQCAtNTIsNyArNTIsNyBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6
TWVzc2FnZVJlY2VpdmVyLgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGRpZENvbGxlY3RHZW9t
ZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4sIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9y
dE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGRp
ZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4sIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpG
bG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgZml0RW50aXJlUmVjdCwgZG91Ymxl
IHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogICAg
IHZvaWQgbWFnbmlmeShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGRv
dWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsK
ICAgICB2b2lkIGFkanVzdFNtYXJ0TWFnbmlmaWNhdGlvblRhcmdldFJlY3RBbmRab29tU2NhbGVz
KGJvb2wgYWRkTWFnbmlmaWNhdGlvblBhZGRpbmcsIFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0
UmVjdCwgZG91YmxlJiBtaW5pbXVtU2NhbGUsIGRvdWJsZSYgbWF4aW11bVNjYWxlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgppbmRleCA2YjVmMDE3NTQxY2JlODZm
MzhjNTllYjI3N2IzZThiYzY4YmMwMTQ1Li5hZDQ2ODc5MzI5ZDI5NmU2MDdmMjhmNjU5YmY2OGYx
ZDA5NTAxMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgpAQCAt
MjMsNyArMjMsNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogbWVzc2FnZXMgLT4gU21hcnRNYWdu
aWZpY2F0aW9uQ29udHJvbGxlciB7Ci0gICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWdu
aWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5k
cywgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBk
b3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpCisgICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21h
cnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29y
ZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVu
dEJvdW5kcywgYm9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUs
IGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKICAgICBNYWduaWZ5KFdlYkNvcmU6OkZsb2F0
UG9pbnQgb3JpZ2luLCBXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBk
b3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KaW5k
ZXggOWRiOGMzNGZhYzRjYjFiNDI5ZTBlNmI1ZTQxYjhhNWUyOTM3OWE4MC4uNTYzMTM5OGJjNDYw
OGM5YTYzNmY0MDUyMmU2ODE3ODY3OTdhMjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KQEAg
LTg5LDcgKzg5LDcgQEAgdm9pZCBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOjphZGp1c3RT
bWFydE1hZ25pZmljYXRpb25UYXJnZXRSZWN0QW5kWm9vbVNjYWwKICAgICBtYXhpbXVtU2NhbGUg
PSBzdGQ6Om1pbihtYXhpbXVtU2NhbGUsIHNtYXJ0TWFnbmlmaWNhdGlvbk1heGltdW1TY2FsZSk7
CiB9CiAKLXZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21l
dHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGbG9hdFBvaW50IG9yaWdpbiwgRmxvYXRS
ZWN0IHRhcmdldFJlY3QsIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgaXNSZXBs
YWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0
TWF4aW11bVNjYWxlKQordm9pZCBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOjpkaWRDb2xs
ZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2lu
LCBGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9v
bCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3
cG9ydE1heGltdW1TY2FsZSkKIHsKICAgICBpZiAodGFyZ2V0UmVjdC5pc0VtcHR5KCkpIHsKICAg
ICAgICAgLy8gRklYTUU6IElmIHdlIGRvbid0IHpvb20sIHNlbmQgdGhlIHRhcCBhbG9uZyB0byB0
ZXh0IHNlbGVjdGlvbiAoc2VlIDxyZGFyOi8vcHJvYmxlbS82ODEwMzQ0PikuCkBAIC05OCw3ICs5
OCw3IEBAIHZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21l
dHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyCiAgICAgfQogICAgIGRvdWJsZSBtaW5pbXVt
U2NhbGUgPSB2aWV3cG9ydE1pbmltdW1TY2FsZTsKICAgICBkb3VibGUgbWF4aW11bVNjYWxlID0g
dmlld3BvcnRNYXhpbXVtU2NhbGU7Ci0gICAgYWRqdXN0U21hcnRNYWduaWZpY2F0aW9uVGFyZ2V0
UmVjdEFuZFpvb21TY2FsZXMoIWlzUmVwbGFjZWRFbGVtZW50LCB0YXJnZXRSZWN0LCBtaW5pbXVt
U2NhbGUsIG1heGltdW1TY2FsZSk7CisgICAgYWRqdXN0U21hcnRNYWduaWZpY2F0aW9uVGFyZ2V0
UmVjdEFuZFpvb21TY2FsZXMoIWZpdEVudGlyZVJlY3QsIHRhcmdldFJlY3QsIG1pbmltdW1TY2Fs
ZSwgbWF4aW11bVNjYWxlKTsKIAogICAgIC8vIEZJWE1FOiBDaGVjayBpZiB0ZXh0IHNlbGVjdGlv
biB3YW50cyB0byBjb25zdW1lIHRoZSBkb3VibGUgdGFwIGJlZm9yZSB3ZSBhdHRlbXB0IG1hZ25p
ZmljYXRpb24uCiAKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIFNtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXI6OmRpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cgog
ICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBsaWtlIGltYWdlcywgd2Ugd2FudCB0byBmaXQg
dGhlIHdob2xlIGVsZW1lbnQKICAgICAvLyBpbiB0aGUgdmlldywgc28gc2NhbGUgaXQgZG93biBl
bm91Z2ggdG8gbWFrZSBib3RoIGRpbWVuc2lvbnMgZml0IGlmIHBvc3NpYmxlLgogICAgIC8vIEZv
ciBvdGhlciBlbGVtZW50cywgdHJ5IHRvIGZpdCB0aGVtIGhvcml6b250YWxseS4KLSAgICBpZiAo
W21fY29udGVudFZpZXcgX3pvb21Ub1JlY3Q6dGFyZ2V0UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBm
aXRFbnRpcmVSZWN0OmlzUmVwbGFjZWRFbGVtZW50IG1pbmltdW1TY2FsZTptaW5pbXVtU2NhbGUg
bWF4aW11bVNjYWxlOm1heGltdW1TY2FsZSBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6bWluaW11bVNj
cm9sbERpc3RhbmNlXSkKKyAgICBpZiAoW21fY29udGVudFZpZXcgX3pvb21Ub1JlY3Q6dGFyZ2V0
UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBmaXRFbnRpcmVSZWN0OmZpdEVudGlyZVJlY3QgbWluaW11
bVNjYWxlOm1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6bWF4aW11bVNjYWxlIG1pbmltdW1TY3Jv
bGxEaXN0YW5jZTptaW5pbXVtU2Nyb2xsRGlzdGFuY2VdKQogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBGSVhNRTogSWYgd2Ugc3RpbGwgZG9uJ3Qgem9vbSwgc2VuZCB0aGUgdGFwIGFsb25nIHRv
IHRleHQgc2VsZWN0aW9uIChzZWUgPHJkYXI6Ly9wcm9ibGVtLzY4MTAzNDQ+KS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFj
Lm1tCmluZGV4IDAzMjZjMzQ0MDNiN2EwMjVlZDY3YmI2ZWFiMDZiZjY1NmRkNTA5MjEuLmU0YzE5
MWMzZDA5NzVmMGMyNzFmYzc4MTY4MDhkZTZiOGIxNzYzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpAQCAt
MjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBmbG9hdCBtYXhpbXVtUmVjdGFuZ2xlQ29tcG9uZW50RGVs
dGEoRmxvYXRSZWN0IGEsIEZsb2F0UmVjdCBiKQogICAgIHJldHVybiBzdGQ6Om1heChzdGQ6OmFi
cyhhLngoKSAtIGIueCgpKSwgc3RkOjptYXgoc3RkOjphYnMoYS55KCkgLSBiLnkoKSksIHN0ZDo6
bWF4KHN0ZDo6YWJzKGEud2lkdGgoKSAtIGIud2lkdGgoKSksIHN0ZDo6YWJzKGEuaGVpZ2h0KCkg
LSBiLmhlaWdodCgpKSkpKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRpZENv
bGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoRmxvYXRQb2ludCBvcmln
aW4sIEZsb2F0UmVjdCByZW5kZXJSZWN0LCBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBi
b29sIGlzUmVwbGFjZWRFbGVtZW50LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJs
ZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRD
b2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3Jp
Z2luLCBGbG9hdFJlY3QgcmVuZGVyUmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwg
Ym9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2
aWV3cG9ydE1heGltdW1TY2FsZSkKIHsKICAgICBkb3VibGUgY3VycmVudFNjYWxlRmFjdG9yID0g
bV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCk7CiAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWdu
aWZpY2F0aW9uR2VzdHVyZShGbG9hdAogCiAgICAgLy8gRm9yIHJlcGxhY2VkIGVsZW1lbnRzIGxp
a2UgaW1hZ2VzLCB3ZSB3YW50IHRvIGZpdCB0aGUgd2hvbGUgZWxlbWVudAogICAgIC8vIGluIHRo
ZSB2aWV3LCBzbyBzY2FsZSBpdCBkb3duIGVub3VnaCB0byBtYWtlIGJvdGggZGltZW5zaW9ucyBm
aXQgaWYgcG9zc2libGUuCi0gICAgaWYgKGlzUmVwbGFjZWRFbGVtZW50KQorICAgIGlmIChmaXRF
bnRpcmVSZWN0KQogICAgICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4odGFyZ2V0
TWFnbmlmaWNhdGlvbiwgc3RhdGljX2Nhc3Q8ZG91YmxlPih2aXNpYmxlQ29udGVudFJlY3QuaGVp
Z2h0KCkgLyB2aWV3cG9ydENvbnN0cmFpbmVkVW5zY2FsZWRUYXJnZXRSZWN0LmhlaWdodCgpKSk7
CiAKICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4oc3RkOjptYXgodGFyZ2V0TWFn
bmlmaWNhdGlvbiwgbWluTWFnbmlmaWNhdGlvbiksIG1heE1hZ25pZmljYXRpb24pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRy
eUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2Vz
dHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcAppbmRleCAzYTRhNmExYTdjMzA4Yzg3ZjQzYWE2MDFl
OGI4MDUwMTViOTRiMWU2Li4wZWM4MjIzZjAxMzVkNjg5YjdiMzcyZDllMTdkY2M0Y2Q5ZWQ0ZGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVy
ZUdlb21ldHJ5Q29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcApAQCAtNjQsMTMgKzY0LDEzIEBA
IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6On5WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV93ZWJQYWdlLnBhZ2VJRCgpKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yOjpkaXNwYXRjaERpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlv
bkdlc3R1cmUoRmxvYXRQb2ludCBvcmlnaW4sIEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFJl
Y3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBib29sIGlzUmVwbGFjZWRFbGVtZW50LCBkb3VibGUgdmll
d3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKK3ZvaWQgVmll
d0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6ZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JT
bWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2luLCBGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9vbCBmaXRFbnRpcmVSZWN0
LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2Fs
ZSkKIHsKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6RGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0
aW9uR2VzdHVyZShvcmlnaW4sIHRhcmdldFJlY3QsIHZpc2libGVDb250ZW50UmVjdCwgaXNSZXBs
YWNlZEVsZW1lbnQsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSkp
OworICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRp
ZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luLCB0YXJn
ZXRSZWN0LCB2aXNpYmxlQ29udGVudFJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11
bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSkpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9T
KQotICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpTbWFydE1hZ25pZmljYXRpb25Db250cm9s
bGVyOjpEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKG9yaWdp
biwgdGFyZ2V0UmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0LCBpc1JlcGxhY2VkRWxlbWVudCwgdmll
d3BvcnRNaW5pbXVtU2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKSk7CisgICAgbV93ZWJQYWdl
LnNlbmQoTWVzc2FnZXM6OlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXI6OkRpZENvbGxlY3RH
ZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luLCB0YXJnZXRSZWN0LCB2
aXNpYmxlQ29udGVudFJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2
aWV3cG9ydE1heGltdW1TY2FsZSkpOwogI2VuZGlmCiB9CiAKQEAgLTgxLDYgKzgxLDM0IEBAIHZv
aWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRN
YWduaWZpY2F0aW9uR2VzdHVyZShGCiAgICAgaWYgKG1fd2ViUGFnZS5tYWluV2ViRnJhbWUoKS0+
aGFuZGxlc1BhZ2VTY2FsZUdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgZG91Ymxl
IHZpZXdwb3J0TWluaW11bVNjYWxlOworICAgIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZTsK
KworI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAobV93ZWJQYWdlLnBsYXRmb3JtUHJlZmVyc1Rl
eHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZygpKSB7CisgICAgICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgbWluaW11bVNjYWxlRGlmZmVyZW5jZUZvclpvb21pbmcgPSAwLjA1OworCisgICAgICAg
IGF1dG8gdGV4dExlZ2liaWxpdHlTY2FsZXMgPSBjb21wdXRlVGV4dExlZ2liaWxpdHlTY2FsZXMo
dmlld3BvcnRNaW5pbXVtU2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICAgICAgaWYg
KCF0ZXh0TGVnaWJpbGl0eVNjYWxlcykgeworICAgICAgICAgICAgZGlzcGF0Y2hEaWRDb2xsZWN0
R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKHsgfSwgeyB9LCB7IH0sIGZhbHNl
LCAwLCAwKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZsb2F0
IHRhcmdldFNjYWxlID0gbV93ZWJQYWdlLnZpZXdwb3J0Q29uZmlndXJhdGlvbigpLmluaXRpYWxT
Y2FsZSgpOworICAgICAgICBmbG9hdCBjdXJyZW50U2NhbGUgPSBtX3dlYlBhZ2UucGFnZVNjYWxl
RmFjdG9yKCk7CisgICAgICAgIGlmIChjdXJyZW50U2NhbGUgPCB0ZXh0TGVnaWJpbGl0eVNjYWxl
cy0+Zmlyc3QgLSBtaW5pbXVtU2NhbGVEaWZmZXJlbmNlRm9yWm9vbWluZykKKyAgICAgICAgICAg
IHRhcmdldFNjYWxlID0gdGV4dExlZ2liaWxpdHlTY2FsZXMtPmZpcnN0OworICAgICAgICBlbHNl
IGlmIChjdXJyZW50U2NhbGUgPCB0ZXh0TGVnaWJpbGl0eVNjYWxlcy0+c2Vjb25kIC0gbWluaW11
bVNjYWxlRGlmZmVyZW5jZUZvclpvb21pbmcpCisgICAgICAgICAgICB0YXJnZXRTY2FsZSA9IHRl
eHRMZWdpYmlsaXR5U2NhbGVzLT5zZWNvbmQ7CisKKyAgICAgICAgRmxvYXRSZWN0IHRhcmdldFJl
Y3RJbkNvbnRlbnRDb29yZGluYXRlcyB7IG9yaWdpbiwgRmxvYXRTaXplKCkgfTsKKyAgICAgICAg
dGFyZ2V0UmVjdEluQ29udGVudENvb3JkaW5hdGVzLmluZmxhdGUobV93ZWJQYWdlLnZpZXdwb3J0
Q29uZmlndXJhdGlvbigpLnZpZXdTaXplKCkgLyAoMiAqIHRhcmdldFNjYWxlKSk7CisKKyAgICAg
ICAgZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJl
KG9yaWdpbiwgdGFyZ2V0UmVjdEluQ29udGVudENvb3JkaW5hdGVzLCB2aXNpYmxlQ29udGVudFJl
Y3QsIHRydWUsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorCiAgICAgSW50
UG9pbnQgb3JpZ2luSW5Db250ZW50c1NwYWNlID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+
d2luZG93VG9Db250ZW50cyhyb3VuZGVkSW50UG9pbnQob3JpZ2luKSk7CiAgICAgSGl0VGVzdFJl
c3VsdCBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdChvcmlnaW5JbkNvbnRlbnRzU3BhY2Up
OwogCkBAIC05MywxMyArMTIxLDM4IEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
cjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGCiAKICAgICBi
b29sIGlzUmVwbGFjZWQ7CiAgICAgRmxvYXRSZWN0IHJlbmRlclJlY3Q7Ci0gICAgZG91YmxlIHZp
ZXdwb3J0TWluaW11bVNjYWxlOwotICAgIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZTsKIAog
ICAgIGNvbXB1dGVab29tSW5mb3JtYXRpb25Gb3JOb2RlKCpub2RlLCBvcmlnaW4sIHJlbmRlclJl
Y3QsIGlzUmVwbGFjZWQsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2Fs
ZSk7CiAgICAgZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25H
ZXN0dXJlKG9yaWdpbiwgcmVuZGVyUmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0LCBpc1JlcGxhY2Vk
LCB2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogfQogCisjaWYg
UExBVEZPUk0oSU9TKQorCitzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+
IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbXB1dGVUZXh0TGVnaWJpbGl0eVNjYWxl
cyhkb3VibGUmIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUmIHZpZXdwb3J0TWF4aW11bVNj
YWxlKQoreworICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdE1heGltdW1UZXh0TGVnaWJp
bGl0eVNjYWxlID0gMTsKKworICAgIGNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2Nh
bGVzKHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7CisgICAgaWYg
KG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXMpCisgICAgICAgIHJldHVybiBtX2NhY2hlZFRl
eHRMZWdpYmlsaXR5U2NhbGVzOworCisgICAgYXV0byBkb2N1bWVudCA9IG1ha2VSZWZQdHIobV93
ZWJQYWdlLm1haW5GcmFtZSgpLT5kb2N1bWVudCgpKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOworCisgICAgLy8gRklYTUU6IERldGVybWluZSBhcHByb3ByaWF0ZSB0
ZXh0IGxlZ2liaWxpdHkgc2NhbGVzIGJ5IGV4YW1pbmluZyB0ZXh0IHJ1bnMgaW4gdGhlIGRvY3Vt
ZW50LiBGb3Igbm93LCBoYXJkIGNvZGUgdGhlIHNlY29uZCB0ZXh0IGxlZ2liaWxpdHkgc2NhbGUg
dG8gYmUgMSwKKyAgICAvLyBhbmQgc2V0IHRoZSBmaXJzdCB0ZXh0IGxlZ2liaWxpdHkgc2NhbGUg
dG8gYmUgdGhlIGhhbGZ3YXkgcG9pbnQgYmV0d2VlbiB0aGUgaW5pdGlhbCBzY2FsZSBhbmQgMS4K
KyAgICBkb3VibGUgZmlyc3RUZXh0TGVnaWJpbGl0eVNjYWxlID0gY2xhbXBUbzxkb3VibGU+KCht
X3dlYlBhZ2Uudmlld3BvcnRDb25maWd1cmF0aW9uKCkuaW5pdGlhbFNjYWxlKCkgKyBkZWZhdWx0
TWF4aW11bVRleHRMZWdpYmlsaXR5U2NhbGUpIC8gMiwgdmlld3BvcnRNaW5pbXVtU2NhbGUsIHZp
ZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICBkb3VibGUgc2Vjb25kVGV4dExlZ2liaWxpdHlTY2Fs
ZSA9IGNsYW1wVG88ZG91YmxlPihkZWZhdWx0TWF4aW11bVRleHRMZWdpYmlsaXR5U2NhbGUsIHZp
ZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7CisKKyAgICBtX2NhY2hl
ZFRleHRMZWdpYmlsaXR5U2NhbGVzID0gc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8ZG91YmxlLCBk
b3VibGU+PiB7eyBmaXJzdFRleHRMZWdpYmlsaXR5U2NhbGUsIHNlY29uZFRleHRMZWdpYmlsaXR5
U2NhbGUgfX07CisgICAgcmV0dXJuIG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXM7Cit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3Rvcjo6Y29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoTm9kZSYgbm9kZSwgRmxvYXRQb2lu
dCYgb3JpZ2luLCBGbG9hdFJlY3QmIHJlbmRlclJlY3QsIGJvb2wmIGlzUmVwbGFjZWQsIGRvdWJs
ZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2NhbGUpCiB7
CiAgICAgcmVuZGVyUmVjdCA9IG5vZGUucmVuZGVyUmVjdCgmaXNSZXBsYWNlZCk7CkBAIC0xMTcs
NiArMTcwLDExIEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Y29tcHV0ZVpv
b21JbmZvcm1hdGlvbkZvck5vZGUoTm9kZSYgbm9kZSwgRmxvCiAgICAgICAgICAgICBpc1JlcGxh
Y2VkID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KKyAgICBjb21wdXRlTWluaW11bUFuZE1heGlt
dW1WaWV3cG9ydFNjYWxlcyh2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRNYXhpbXVtU2Nh
bGUpOworfQorCit2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbXB1dGVNaW5p
bXVtQW5kTWF4aW11bVZpZXdwb3J0U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUs
IGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2NhbGUpIGNvbnN0Cit7CiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIHZpZXdwb3J0TWluaW11bVNjYWxlID0gMDsKICAgICB2aWV3cG9ydE1heGltdW1TY2Fs
ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CkBAIC0xMzMsMTUgKzE5MSwy
MCBAQCB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRyeUZv
ck1hZ25pZmljYXRpb25HZXN0dXJlKCkKICAgICBib29sIGZyYW1lSGFuZGxlc01hZ25pZmljYXRp
b25HZXN0dXJlID0gbV93ZWJQYWdlLm1haW5XZWJGcmFtZSgpLT5oYW5kbGVzUGFnZVNjYWxlR2Vz
dHVyZSgpOwogICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xs
ZXI6OkRpZENvbGxlY3RHZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKHZpc2libGVDb250
ZW50UmVjdCwgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpKTsKIH0KKyNlbmRpZgog
CiB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1haW5GcmFtZURpZExheW91dCgp
CiB7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXMu
cmVzZXQoKTsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9yZW5kZXJUcmVl
U2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCAmJiBtX3dlYlBhZ2UucmVuZGVyVHJlZVNpemUoKSA+
PSBtX3JlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uVGhyZXNob2xkKSB7CiAgICAgICAgIG1fd2Vi
UGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRpZEhpdFJlbmRlclRy
ZWVTaXplVGhyZXNob2xkKCkpOwogICAgICAgICBtX3JlbmRlclRyZWVTaXplTm90aWZpY2F0aW9u
VGhyZXNob2xkID0gMDsKICAgICB9Ci19CiAjZW5kaWYKK30KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdH
ZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaAppbmRleCA2ZmZmNjUyMGZkMWZkODFi
NDVlMGEyYjJkZjA2MGMyOTM2ZmVjM2ViLi5jZWMwZTA0N2MwNDhiMjUzOWQ5OGI3NjYzYjBhMjRh
YjA0YmQ0Y2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9W
aWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oCkBAIC02MCwxNCArNjAs
MjIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uVGltZXJG
aXJlZCgpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpc3BhdGNoRGlkQ29sbGVjdEdlb21ldHJ5Rm9y
U21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29u
dGVudFJlY3QsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1T
Y2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGRpc3BhdGNoRGlk
Q29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgZml0RW50aXJlUmVjdCwgZG91YmxlIHZp
ZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogICAgIHZv
aWQgY29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoV2ViQ29yZTo6Tm9kZSYsIFdlYkNvcmU6
OkZsb2F0UG9pbnQmIG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0JiByZW5kZXJSZWN0LCBib29s
JiBpc1JlcGxhY2VkLCBkb3VibGUmIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUmIHZpZXdw
b3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdw
b3J0U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRN
YXhpbXVtU2NhbGUpIGNvbnN0OworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0ZDo6b3B0aW9u
YWw8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gY29tcHV0ZVRleHRMZWdpYmlsaXR5U2NhbGVz
KGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2Nh
bGUpOworI2VuZGlmCiAKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAKICNpZiBQTEFURk9STShN
QUMpCiAgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZDsK
ICNlbmRpZgorI2lmIFBMQVRGT1JNKElPUykKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxk
b3VibGUsIGRvdWJsZT4+IG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXM7CisjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YTVhNDEyZGNiNTRlYzFhZGYwNzc1MjljN2NlOWJhNDNj
ZjFiM2Q4Li4xYWUzZDczZjk2OWNiY2Y5Yzk0NzhjNjljZTc0MDg2YTUwMDAyZTEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzgyMCw3ICsz
ODIwLDcgQEAgdm9pZCBXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQoKQogICAgICAgICBtX2Nh
Y2hlZFBhZ2VDb3VudCA9IHBhZ2VDb3VudDsKICAgICB9CiAKLSNpZiBQTEFURk9STShNQUMpCisj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgbV92aWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLT5t
YWluRnJhbWVEaWRMYXlvdXQoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBiMjc0NzRiYmMyY2UzMjM1
ZWI0MzU3ZjZhZDNjNWQ4YWE4NTEzZDBjLi42MjA0ZGJlOTc4OGJlYjc5OWMwMjc4ZWRjZDVhNTg0
NDg2NGUwNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CkBAIC04OTEsNiArODkxLDkgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKGJvb2wgaXNTdXNwZW5kZWRVbmRlckxvY2spOwogICAgIHZvaWQgYXBwbGlj
YXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKICAgICB2b2lkIGNvbXBsZXRlUGVuZGluZ1N5bnRoZXRp
Y0NsaWNrRm9yQ29udGVudENoYW5nZU9ic2VydmVyKCk7CisKKyAgICBib29sIHBsYXRmb3JtUHJl
ZmVyc1RleHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZygpIGNvbnN0OworICAgIGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0Q29uZmlndXJhdGlvbiYgdmlld3BvcnRDb25maWd1cmF0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV92aWV3cG9ydENvbmZpZ3VyYXRpb247IH0KICNlbmRpZgogCiAjaWYgRU5B
QkxFKElPU19UT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGY3MDY1ZjVlMGJjZDI0ZDVhMjgyMGE3NmE5
MGIwMjMyNGRmOGJkZDEuLmUwNmNjNTY1MDgxNmE0NjkwNGJmMjI4OTRiZmY3MWNlY2QyNjZjNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCkBAIC0zNDcxLDYgKzM0NzEsMTUgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUGFz
c3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudChjb25zdCBTdHJpbmcmIHBhc3N3b3JkKQogfQogI2Vu
ZGlmCiAKK2Jvb2wgV2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJzVGV4dExlZ2liaWxpdHlCYXNlZFpv
b21TY2FsaW5nKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQorICAgIHJl
dHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIFdlYlBhZ2U6OnByZXBhcmVUb1NlbmRVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdCgpCiB7Cg==
</data>
<flag name="review"
          id="355964"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337659</attachid>
            <date>2018-04-10 17:24:29 -0700</date>
            <delta_ts>2018-04-10 18:02:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-184435-20180410172429.patch</filename>
            <type>text/plain</type>
            <size>26080</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTVjYWNjNWE2YTg0ZjQw
MGEyNDI4NTkzODI4NTYwNTFkY2NmZWFlYi4uYjAxOGY1YTVkMTU3Njk2YTMzNDhmNWQzNzI1N2Yz
ZjM5ZTk4YTQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29t
IG1vZGVdIEFkZCBhIG1lY2hhbmlzbSB0byB6b29tIHRvIGZpeGVkIHNjYWxlcyB3aGVuIGRvdWJs
ZSB0YXBwaW5nIGluIGV4dHJhIHpvb20gbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NDM1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODcy
NjI2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgRXhw
b3NlIHRoZSBzaXplIG9mIHRoZSBwbGF0Zm9ybSB2aWV3LiBCeSBkZWZhdWx0LCBpbiBleHRyYSB6
b29tIG1vZGUsIHRoaXMgKm5vdCogdGhlIHNhbWUgYXMgdGhlIG1pbmltdW0gbGF5b3V0CisgICAg
ICAgIHNpemUsIHNpbmNlIHdlIGxheSBvdXQgYXQgYSBsYXJnZSB3aWR0aCBhbmQgdGhlbiBzaHJp
bmsgZG93biB0byByZWFsIGRldmljZSBkaW1lbnNpb25zIHdoZW4gY29tcHV0aW5nIHRoZQorICAg
ICAgICBpbml0aWFsIHNjYWxlIChzZWUgcjIyOTA2MykuCisKKyAgICAgICAgVmlld0dlc3R1cmVH
ZW9tZXRyeUNvbGxlY3RvciB1c2VzIHRoaXMgaW4gdGhlIHByb2Nlc3Mgb2YgY29tcHV0aW5nIGEg
dGFyZ2V0IHpvb20gc2NhbGUgd2hlbiBkb3VibGUgdGFwcGluZy4KKworICAgICAgICAqIHBhZ2Uv
Vmlld3BvcnRDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpWaWV3cG9ydENvbmZp
Z3VyYXRpb246OnZpZXdTaXplIGNvbnN0KToKKwogMjAxOC0wNC0xMCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA5NTllNWUwOTY1YTZkODhiYzM3ZDgyMGEzYTRhMmRmZTlhZDE5N2NiLi5iNzVmOTQwOGM4
MzIxMjVhZGVkMmMzZTdjMmIxZmY2NDE4ZDVkNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBA
CisyMDE4LTA0LTA5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIEFkZCBhIG1lY2hhbmlzbSB0byB6b29tIHRvIGZpeGVk
IHNjYWxlcyB3aGVuIGRvdWJsZSB0YXBwaW5nIGluIGV4dHJhIHpvb20gbW9kZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NDM1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zODcyNjI2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tz
b24uCisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGZvciBhbiBhbHRlcm5hdGUgY29kZXBhdGggd2hl
biBjb21wdXRpbmcgYSB6b29tIHJlY3Qgd2hlbiBkb3VibGUgdGFwcGluZyB0aGF0IGRvZXNuJ3Qg
dGFrZSB0aGUgaGl0LQorICAgICAgICB0ZXN0ZWQgbm9kZSBpbnRvIGFjY291bnQsIGFuZCBpbnN0
ZWFkIGN5Y2xlcyB0aGUgem9vbSBzY2FsZSBiZXR3ZWVuIDIgZml4ZWQgdmFsdWVzIChpbiBhZGRp
dGlvbiB0byB0aGUgaW5pdGlhbAorICAgICAgICBzY2FsZSkuIEluIHRoZSBuZXh0IHBhdGNoLCB0
aGVzZSBmaXhlZCBzY2FsZXMgd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IGNvbXB1dGluZyB6b29tIHNj
YWxlcyBuZWVkZWQgdG8gbWFrZSBtb3N0IG9mCisgICAgICAgIHRoZSB0ZXh0IG9uIHRoZSBwYWdl
IGxlZ2libGUgKGkuZS4gdGhlIGZpcnN0IHRleHQgbGVnaWJpbGl0eSB6b29tIHNjYWxlKSwgYW5k
IGFub3RoZXIgdG8gbWFrZSBhbGwgb2YgdGhlIHRleHQgb24KKyAgICAgICAgdGhlIHBhZ2UgbGVn
aWJsZSwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIG91dGxpZXJzICh0aGlzIGlzIHRoZSBzZWNvbmQg
dGV4dCBsZWdpYmlsaXR5IHpvb20gc2NhbGUpLgorCisgICAgICAgIFNlZSBjb21tZW50cyBiZWxv
dyBmb3IgbW9yZSBkZXRhaWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlm
aWNhdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlm
aWNhdGlvbkNvbnRyb2xsZXIubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9T
bWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tOgorICAgICAgICAoV2ViS2l0OjpTbWFydE1h
Z25pZmljYXRpb25Db250cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmlj
YXRpb25HZXN0dXJlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJv
bGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRD
b2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmRpc3BhdGNoRGlkQ29s
bGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZSk6CisKKyAgICAgICAgUmVu
YW1lIHRoZSBib29sZWFuIGBpc1JlcGxhY2VkRWxlbWVudGAgYXJndW1lbnQgdG8gYGZpdEVudGly
ZVJlY3RgIGluc3RlYWQuIFRoZSBVSSBwcm9jZXNzIG9ubHkgdXNlcyB0aGlzIG9uIGlPUworICAg
ICAgICB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdG8gZml0IHRoZSBlbnRpcmUgZWxlbWVu
dCByZWN0IHRvIHRoZSB2aWV3cG9ydCBhbmQgYWRkIHBhZGRpbmcuIFRoaXMgcGF0Y2ggcmVuYW1l
cworICAgICAgICB0aGlzIHZhcmlhYmxlIGJlY2F1c2Ugd2UgYXJlIG5vdCB6b29taW5nIHRvIGEg
cmVwbGFjZWQgZWxlbWVudCBpbiB0aGUgY2FzZSB3aGVyZSB0ZXh0IGxlZ2liaWxpdHkgb24gdGhl
IHBhZ2UKKyAgICAgICAgKHJhdGhlciB0aGFuIGVsZW1lbnQgZ2VvbWV0cnkpIGlzIGJlaW5nIHVz
ZWQgdG8gZmlndXJlIG91dCB0aGUgem9vbSBzY2FsZSwgYnV0IHdlIHN0aWxsIHdhbnQgdG8gZml0
IHRoZSBlbnRpcmUKKyAgICAgICAgdGFyZ2V0IHJlY3QgdG8gdGhlIHZpZXdwb3J0LgorCisgICAg
ICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RHZW9tZXRy
eUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUpOgorCisgICAgICAgIElmIHRleHQgbGVnaWJs
aXR5IHpvb20gc2NhbGluZyBpcyBwcmVmZXJyZWQsIHRoZW4gY29tcHV0ZSBmaXJzdCBhbmQgc2Vj
b25kLWxldmVsIHRleHQgbGVnaWJpbGl0eSB6b29tIHNjYWxlcyB0bworICAgICAgICB6b29tIHRv
IHVwb24gZG91YmxlIHRhcCAod2hlcmUgdGhlIHNlY29uZCB6b29tIHNjYWxlIGlzIGdyZWF0ZXIg
dGhhbiB0aGUgZmlyc3QpLiBUbyBjaG9vc2UgYSB0YXJnZXQgem9vbQorICAgICAgICBzY2FsZSwg
Y2hvb3NlIHRoZSBsb3dlc3QgdGFyZ2V0IHpvb20gc2NhbGUgdGhhdCBpcyBhdCBsZWFzdCBhIHNt
YWxsIGFtb3VudCBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgc2NhbGUuIElmCisgICAgICAgIG5laXRo
ZXIgb2YgdGhlIHR3byBzY2FsZXMgZnVsZmlsbCB0aGlzIGRlc2NyaXB0aW9uLCB0aGVuIHpvb20g
YmFjayBvdXQgdG8gdGhlIGluaXRpYWwgc2NhbGUuIFRoaXMgaGFzIHRoZSBlZmZlY3QKKyAgICAg
ICAgb2YgY29uc2lzdGVudGx5IGN5Y2xpbmcgYmV0d2VlbiBhbGwgdGhyZWUgem9vbSBzY2FsZXMg
YXMgdGhlIHVzZXIgZG91YmxlIHRhcHMuCisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVH
ZW9tZXRyeUNvbGxlY3Rvcjo6Y29tcHV0ZVRleHRMZWdpYmlsaXR5U2NhbGVzKToKKworICAgICAg
ICBJbnRyb2R1Y2UgYSBuZXcgaGVscGVyIG1ldGhvZCB0aGF0IGNvbXB1dGVzIGFuZCBjYWNoZXMg
dGFyZ2V0IHNjYWxlcyB0byB6b29tIHRvIHdoZW4gZG91YmxlIHRhcHBpbmcgdG8gem9vbS4gSWYK
KyAgICAgICAgYSBjYWNoZWQgcGFpciBvZiB0YXJnZXQgc2NhbGVzIGlzIGFscmVhZHkgcHJlc2Vu
dCwgaXQgc2tpcHMgdGhpcyBjb21wdXRhdGlvbiBhbmQgaW1tZWRpYXRlbHkgcmV0dXJucyBpdC4K
KworICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOjpjb21wdXRl
Wm9vbUluZm9ybWF0aW9uRm9yTm9kZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlR2Vv
bWV0cnlDb2xsZWN0b3I6OmNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2NhbGVzIGNv
bnN0KToKKworICAgICAgICBGYWN0b3Igb3V0IGxvZ2ljIHRvIGNvbXB1dGUgbWluIGFuZCBtYXgg
em9vbSBzY2FsZXMgaW50byBhIHNlcGFyYXRlIGhlbHBlciwgYW5kIGNhbGwgaXQgZnJvbSBib3Ro
CisgICAgICAgIGNvbXB1dGVab29tSW5mb3JtYXRpb25Gb3JOb2RlIGFuZCBjb21wdXRlVGV4dExl
Z2liaWxpdHlTY2FsZXMuCisKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVHZW9tZXRyeUNv
bGxlY3Rvcjo6bWFpbkZyYW1lRGlkTGF5b3V0KToKKworICAgICAgICBJbnZhbGlkYXRlIGNhY2hl
ZCB0ZXh0IGxlZ2liaWxpdHkgc2NhbGVzIHdoZW4gbGF5b3V0IGlzIHRyaWdnZXJlZC4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnZpZXdwb3J0Q29u
ZmlndXJhdGlvbiBjb25zdCk6CisKKyAgICAgICAgRXhwb3NlIFdlYlBhZ2UncyBWaWV3cG9ydENv
bmZpZ3VyYXRpb24gYXMgYSBjb25zdCByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBs
YXRmb3JtUHJlZmVyc1RleHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZyBjb25zdCk6CisKKyAg
ICAgICAgQWRkcyBhIHBsYXRmb3JtIGhvb2sgZm9yIG9wdGluZyBpbnRvIHRleHQtbGVnaWJpbGl0
eS1iYXNlZCB6b29tIHNjYWxpbmcgaW5zdGVhZCBvZiByZWd1bGFyIGhpdC10ZXN0aW5nLWJhc2Vk
CisgICAgICAgIHpvb20gc2NhbGluZyBoZXVyaXN0aWNzLgorCiAyMDE4LTA0LTEwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgY29uc3RydWN0aW5nIGEg
c2VydmljZSB3b3JrZXIgUmVnaXN0cmF0aW9uU3RvcmUgZm9yIHByaXZhdGUgc2Vzc2lvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oCmluZGV4IGVlZWQ2NGNj
OGJhNWUyNDczMDBlYmQzZDU2OGFmMWNiZTUyMjM1N2UuLmYwMjhjOWIwYTRkNjU1ZWNhNjg3MGQz
ZTI4M2VhN2MxY2UyZTc1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3Bv
cnRDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZp
Z3VyYXRpb24uaApAQCAtNzQsNiArNzQsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSW50U2l6ZSYg
Y29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2l6ZTsgfQogICAgIFdFQkNP
UkVfRVhQT1JUIGJvb2wgc2V0Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmKTsKIAorICAgIFdF
QkNPUkVfRVhQT1JUIEZsb2F0U2l6ZSB2aWV3U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld1Np
emU7IH0KKwogICAgIGNvbnN0IEZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUoKSBjb25zdCB7
IHJldHVybiBtX21pbmltdW1MYXlvdXRTaXplOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBz
ZXRNaW5pbXVtTGF5b3V0U2l6ZShjb25zdCBGbG9hdFNpemUmLCBjb25zdCBGbG9hdFNpemUmIHZp
ZXdTaXplKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCA3ZjYzMDlhNTM3NWQ3ZWM4ZjA1YmU2MjEyMTMxY2Iz
NWJmZGNkZjAzLi5hNzEzYTM0ZjVmNTRhZmE3YzM1NTQwZDhmY2M4MDBhNmE5NTRmNzdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIuaApAQCAtMTkxLDcgKzE5MSw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBkaWRDb2xsZWN0R2VvbWV0cnlGb3JN
YWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRCb3Vu
ZHMsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpOwotICAgIHZvaWQgZGlk
Q29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgZG91
YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwor
ICAgIHZvaWQgZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3Qs
IFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBmaXRFbnRpcmVS
ZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1T
Y2FsZSk7CiAKICAgICB2b2lkIGVuZE1hZ25pZmljYXRpb25HZXN0dXJlKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5tZXNzYWdlcy5pbgppbmRleCBmNTFmZDJkNzZjNDk1MDJkYWE3YjNmY2Q2NWE3YzNl
MTZhNmMyNzcyLi5iYjFiYWYzNjE5NDk0MDM0MTZjODgxOWVjMjc1NDU4YzIzYzJmYzljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiBtZXNzYWdlcyAt
PiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEaWRDb2xs
ZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUp
Ci0gICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdl
YkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBpc1JlcGxhY2VkRWxl
bWVudCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVt
U2NhbGUpCisgICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVy
ZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHJlbmRlclJl
Y3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5kcywgYm9vbCBmaXRFbnRp
cmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGlt
dW1TY2FsZSkKICAgICBEaWRIaXRSZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCgpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRp
b25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZp
Y2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDI5ZWRiOTRmN2EyODAyN2Y1ZTZhMmRmOTIxYjI2MjYz
MjZkNzJkNzcuLjU3NTRhYjlmYjYyYmRjMDcxZGJjNTJmZTFkYjU4YTNmZDhjNzM2NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNh
dGlvbkNvbnRyb2xsZXIuaApAQCAtNTIsNyArNTIsNyBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6
TWVzc2FnZVJlY2VpdmVyLgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGRpZENvbGxlY3RHZW9t
ZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4sIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9y
dE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGRp
ZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4sIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBXZWJDb3JlOjpG
bG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRCb3VuZHMsIGJvb2wgZml0RW50aXJlUmVjdCwgZG91Ymxl
IHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogICAg
IHZvaWQgbWFnbmlmeShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGRv
dWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsK
ICAgICB2b2lkIGFkanVzdFNtYXJ0TWFnbmlmaWNhdGlvblRhcmdldFJlY3RBbmRab29tU2NhbGVz
KGJvb2wgYWRkTWFnbmlmaWNhdGlvblBhZGRpbmcsIFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0
UmVjdCwgZG91YmxlJiBtaW5pbXVtU2NhbGUsIGRvdWJsZSYgbWF4aW11bVNjYWxlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgppbmRleCA2YjVmMDE3NTQxY2JlODZm
MzhjNTllYjI3N2IzZThiYzY4YmMwMTQ1Li5hZDQ2ODc5MzI5ZDI5NmU2MDdmMjhmNjU5YmY2OGYx
ZDA5NTAxMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgpAQCAt
MjMsNyArMjMsNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogbWVzc2FnZXMgLT4gU21hcnRNYWdu
aWZpY2F0aW9uQ29udHJvbGxlciB7Ci0gICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWdu
aWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudEJvdW5k
cywgYm9vbCBpc1JlcGxhY2VkRWxlbWVudCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBk
b3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpCisgICAgRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21h
cnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29y
ZTo6RmxvYXRSZWN0IHJlbmRlclJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVu
dEJvdW5kcywgYm9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUs
IGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKICAgICBNYWduaWZ5KFdlYkNvcmU6OkZsb2F0
UG9pbnQgb3JpZ2luLCBXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBk
b3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KaW5k
ZXggOWRiOGMzNGZhYzRjYjFiNDI5ZTBlNmI1ZTQxYjhhNWUyOTM3OWE4MC4uNTYzMTM5OGJjNDYw
OGM5YTYzNmY0MDUyMmU2ODE3ODY3OTdhMjczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KQEAg
LTg5LDcgKzg5LDcgQEAgdm9pZCBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOjphZGp1c3RT
bWFydE1hZ25pZmljYXRpb25UYXJnZXRSZWN0QW5kWm9vbVNjYWwKICAgICBtYXhpbXVtU2NhbGUg
PSBzdGQ6Om1pbihtYXhpbXVtU2NhbGUsIHNtYXJ0TWFnbmlmaWNhdGlvbk1heGltdW1TY2FsZSk7
CiB9CiAKLXZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21l
dHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGbG9hdFBvaW50IG9yaWdpbiwgRmxvYXRS
ZWN0IHRhcmdldFJlY3QsIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgaXNSZXBs
YWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0
TWF4aW11bVNjYWxlKQordm9pZCBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyOjpkaWRDb2xs
ZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2lu
LCBGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9v
bCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3
cG9ydE1heGltdW1TY2FsZSkKIHsKICAgICBpZiAodGFyZ2V0UmVjdC5pc0VtcHR5KCkpIHsKICAg
ICAgICAgLy8gRklYTUU6IElmIHdlIGRvbid0IHpvb20sIHNlbmQgdGhlIHRhcCBhbG9uZyB0byB0
ZXh0IHNlbGVjdGlvbiAoc2VlIDxyZGFyOi8vcHJvYmxlbS82ODEwMzQ0PikuCkBAIC05OCw3ICs5
OCw3IEBAIHZvaWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21l
dHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyCiAgICAgfQogICAgIGRvdWJsZSBtaW5pbXVt
U2NhbGUgPSB2aWV3cG9ydE1pbmltdW1TY2FsZTsKICAgICBkb3VibGUgbWF4aW11bVNjYWxlID0g
dmlld3BvcnRNYXhpbXVtU2NhbGU7Ci0gICAgYWRqdXN0U21hcnRNYWduaWZpY2F0aW9uVGFyZ2V0
UmVjdEFuZFpvb21TY2FsZXMoIWlzUmVwbGFjZWRFbGVtZW50LCB0YXJnZXRSZWN0LCBtaW5pbXVt
U2NhbGUsIG1heGltdW1TY2FsZSk7CisgICAgYWRqdXN0U21hcnRNYWduaWZpY2F0aW9uVGFyZ2V0
UmVjdEFuZFpvb21TY2FsZXMoIWZpdEVudGlyZVJlY3QsIHRhcmdldFJlY3QsIG1pbmltdW1TY2Fs
ZSwgbWF4aW11bVNjYWxlKTsKIAogICAgIC8vIEZJWE1FOiBDaGVjayBpZiB0ZXh0IHNlbGVjdGlv
biB3YW50cyB0byBjb25zdW1lIHRoZSBkb3VibGUgdGFwIGJlZm9yZSB3ZSBhdHRlbXB0IG1hZ25p
ZmljYXRpb24uCiAKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIFNtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXI6OmRpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cgog
ICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBsaWtlIGltYWdlcywgd2Ugd2FudCB0byBmaXQg
dGhlIHdob2xlIGVsZW1lbnQKICAgICAvLyBpbiB0aGUgdmlldywgc28gc2NhbGUgaXQgZG93biBl
bm91Z2ggdG8gbWFrZSBib3RoIGRpbWVuc2lvbnMgZml0IGlmIHBvc3NpYmxlLgogICAgIC8vIEZv
ciBvdGhlciBlbGVtZW50cywgdHJ5IHRvIGZpdCB0aGVtIGhvcml6b250YWxseS4KLSAgICBpZiAo
W21fY29udGVudFZpZXcgX3pvb21Ub1JlY3Q6dGFyZ2V0UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBm
aXRFbnRpcmVSZWN0OmlzUmVwbGFjZWRFbGVtZW50IG1pbmltdW1TY2FsZTptaW5pbXVtU2NhbGUg
bWF4aW11bVNjYWxlOm1heGltdW1TY2FsZSBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6bWluaW11bVNj
cm9sbERpc3RhbmNlXSkKKyAgICBpZiAoW21fY29udGVudFZpZXcgX3pvb21Ub1JlY3Q6dGFyZ2V0
UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBmaXRFbnRpcmVSZWN0OmZpdEVudGlyZVJlY3QgbWluaW11
bVNjYWxlOm1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6bWF4aW11bVNjYWxlIG1pbmltdW1TY3Jv
bGxEaXN0YW5jZTptaW5pbXVtU2Nyb2xsRGlzdGFuY2VdKQogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBGSVhNRTogSWYgd2Ugc3RpbGwgZG9uJ3Qgem9vbSwgc2VuZCB0aGUgdGFwIGFsb25nIHRv
IHRleHQgc2VsZWN0aW9uIChzZWUgPHJkYXI6Ly9wcm9ibGVtLzY4MTAzNDQ+KS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFj
Lm1tCmluZGV4IDAzMjZjMzQ0MDNiN2EwMjVlZDY3YmI2ZWFiMDZiZjY1NmRkNTA5MjEuLmU0YzE5
MWMzZDA5NzVmMGMyNzFmYzc4MTY4MDhkZTZiOGIxNzYzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpAQCAt
MjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBmbG9hdCBtYXhpbXVtUmVjdGFuZ2xlQ29tcG9uZW50RGVs
dGEoRmxvYXRSZWN0IGEsIEZsb2F0UmVjdCBiKQogICAgIHJldHVybiBzdGQ6Om1heChzdGQ6OmFi
cyhhLngoKSAtIGIueCgpKSwgc3RkOjptYXgoc3RkOjphYnMoYS55KCkgLSBiLnkoKSksIHN0ZDo6
bWF4KHN0ZDo6YWJzKGEud2lkdGgoKSAtIGIud2lkdGgoKSksIHN0ZDo6YWJzKGEuaGVpZ2h0KCkg
LSBiLmhlaWdodCgpKSkpKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRpZENv
bGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUoRmxvYXRQb2ludCBvcmln
aW4sIEZsb2F0UmVjdCByZW5kZXJSZWN0LCBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBi
b29sIGlzUmVwbGFjZWRFbGVtZW50LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJs
ZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRD
b2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3Jp
Z2luLCBGbG9hdFJlY3QgcmVuZGVyUmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwg
Ym9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2
aWV3cG9ydE1heGltdW1TY2FsZSkKIHsKICAgICBkb3VibGUgY3VycmVudFNjYWxlRmFjdG9yID0g
bV93ZWJQYWdlUHJveHkucGFnZVNjYWxlRmFjdG9yKCk7CiAKQEAgLTIzNSw3ICsyMzUsNyBAQCB2
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWdu
aWZpY2F0aW9uR2VzdHVyZShGbG9hdAogCiAgICAgLy8gRm9yIHJlcGxhY2VkIGVsZW1lbnRzIGxp
a2UgaW1hZ2VzLCB3ZSB3YW50IHRvIGZpdCB0aGUgd2hvbGUgZWxlbWVudAogICAgIC8vIGluIHRo
ZSB2aWV3LCBzbyBzY2FsZSBpdCBkb3duIGVub3VnaCB0byBtYWtlIGJvdGggZGltZW5zaW9ucyBm
aXQgaWYgcG9zc2libGUuCi0gICAgaWYgKGlzUmVwbGFjZWRFbGVtZW50KQorICAgIGlmIChmaXRF
bnRpcmVSZWN0KQogICAgICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4odGFyZ2V0
TWFnbmlmaWNhdGlvbiwgc3RhdGljX2Nhc3Q8ZG91YmxlPih2aXNpYmxlQ29udGVudFJlY3QuaGVp
Z2h0KCkgLyB2aWV3cG9ydENvbnN0cmFpbmVkVW5zY2FsZWRUYXJnZXRSZWN0LmhlaWdodCgpKSk7
CiAKICAgICB0YXJnZXRNYWduaWZpY2F0aW9uID0gc3RkOjptaW4oc3RkOjptYXgodGFyZ2V0TWFn
bmlmaWNhdGlvbiwgbWluTWFnbmlmaWNhdGlvbiksIG1heE1hZ25pZmljYXRpb24pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRy
eUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2Vz
dHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcAppbmRleCAzYTRhNmExYTdjMzA4Yzg3ZjQzYWE2MDFl
OGI4MDUwMTViOTRiMWU2Li5iMDBhYTllNTZlN2NjNGM0YmE3Y2MwMTFmNzA3MWUzYjlhNTM5ODZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3R2VzdHVy
ZUdlb21ldHJ5Q29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmNwcApAQCAtNjQsMTMgKzY0LDEzIEBA
IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6On5WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV93ZWJQYWdlLnBhZ2VJRCgpKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yOjpkaXNwYXRjaERpZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlv
bkdlc3R1cmUoRmxvYXRQb2ludCBvcmlnaW4sIEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFJl
Y3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBib29sIGlzUmVwbGFjZWRFbGVtZW50LCBkb3VibGUgdmll
d3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSkKK3ZvaWQgVmll
d0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6ZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JT
bWFydE1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UG9pbnQgb3JpZ2luLCBGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCwgYm9vbCBmaXRFbnRpcmVSZWN0
LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2Fs
ZSkKIHsKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6RGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0
aW9uR2VzdHVyZShvcmlnaW4sIHRhcmdldFJlY3QsIHZpc2libGVDb250ZW50UmVjdCwgaXNSZXBs
YWNlZEVsZW1lbnQsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSkp
OworICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRp
ZENvbGxlY3RHZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luLCB0YXJn
ZXRSZWN0LCB2aXNpYmxlQ29udGVudFJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11
bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSkpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9T
KQotICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpTbWFydE1hZ25pZmljYXRpb25Db250cm9s
bGVyOjpEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKG9yaWdp
biwgdGFyZ2V0UmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0LCBpc1JlcGxhY2VkRWxlbWVudCwgdmll
d3BvcnRNaW5pbXVtU2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKSk7CisgICAgbV93ZWJQYWdl
LnNlbmQoTWVzc2FnZXM6OlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXI6OkRpZENvbGxlY3RH
ZW9tZXRyeUZvclNtYXJ0TWFnbmlmaWNhdGlvbkdlc3R1cmUob3JpZ2luLCB0YXJnZXRSZWN0LCB2
aXNpYmxlQ29udGVudFJlY3QsIGZpdEVudGlyZVJlY3QsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2
aWV3cG9ydE1heGltdW1TY2FsZSkpOwogI2VuZGlmCiB9CiAKQEAgLTgxLDYgKzgxLDM0IEBAIHZv
aWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRN
YWduaWZpY2F0aW9uR2VzdHVyZShGCiAgICAgaWYgKG1fd2ViUGFnZS5tYWluV2ViRnJhbWUoKS0+
aGFuZGxlc1BhZ2VTY2FsZUdlc3R1cmUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgZG91Ymxl
IHZpZXdwb3J0TWluaW11bVNjYWxlOworICAgIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZTsK
KworI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAobV93ZWJQYWdlLnBsYXRmb3JtUHJlZmVyc1Rl
eHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZygpKSB7CisgICAgICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgbWluaW11bVNjYWxlRGlmZmVyZW5jZUZvclpvb21pbmcgPSAwLjA1OworCisgICAgICAg
IGF1dG8gdGV4dExlZ2liaWxpdHlTY2FsZXMgPSBjb21wdXRlVGV4dExlZ2liaWxpdHlTY2FsZXMo
dmlld3BvcnRNaW5pbXVtU2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICAgICAgaWYg
KCF0ZXh0TGVnaWJpbGl0eVNjYWxlcykgeworICAgICAgICAgICAgZGlzcGF0Y2hEaWRDb2xsZWN0
R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJlKHsgfSwgeyB9LCB7IH0sIGZhbHNl
LCAwLCAwKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZsb2F0
IHRhcmdldFNjYWxlID0gbV93ZWJQYWdlLnZpZXdwb3J0Q29uZmlndXJhdGlvbigpLmluaXRpYWxT
Y2FsZSgpOworICAgICAgICBmbG9hdCBjdXJyZW50U2NhbGUgPSBtX3dlYlBhZ2UucGFnZVNjYWxl
RmFjdG9yKCk7CisgICAgICAgIGlmIChjdXJyZW50U2NhbGUgPCB0ZXh0TGVnaWJpbGl0eVNjYWxl
cy0+Zmlyc3QgLSBtaW5pbXVtU2NhbGVEaWZmZXJlbmNlRm9yWm9vbWluZykKKyAgICAgICAgICAg
IHRhcmdldFNjYWxlID0gdGV4dExlZ2liaWxpdHlTY2FsZXMtPmZpcnN0OworICAgICAgICBlbHNl
IGlmIChjdXJyZW50U2NhbGUgPCB0ZXh0TGVnaWJpbGl0eVNjYWxlcy0+c2Vjb25kIC0gbWluaW11
bVNjYWxlRGlmZmVyZW5jZUZvclpvb21pbmcpCisgICAgICAgICAgICB0YXJnZXRTY2FsZSA9IHRl
eHRMZWdpYmlsaXR5U2NhbGVzLT5zZWNvbmQ7CisKKyAgICAgICAgRmxvYXRSZWN0IHRhcmdldFJl
Y3RJbkNvbnRlbnRDb29yZGluYXRlcyB7IG9yaWdpbiwgRmxvYXRTaXplKCkgfTsKKyAgICAgICAg
dGFyZ2V0UmVjdEluQ29udGVudENvb3JkaW5hdGVzLmluZmxhdGUobV93ZWJQYWdlLnZpZXdwb3J0
Q29uZmlndXJhdGlvbigpLnZpZXdTaXplKCkgLyAoMiAqIHRhcmdldFNjYWxlKSk7CisKKyAgICAg
ICAgZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25HZXN0dXJl
KG9yaWdpbiwgdGFyZ2V0UmVjdEluQ29udGVudENvb3JkaW5hdGVzLCB2aXNpYmxlQ29udGVudFJl
Y3QsIHRydWUsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorCiAgICAgSW50
UG9pbnQgb3JpZ2luSW5Db250ZW50c1NwYWNlID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+
d2luZG93VG9Db250ZW50cyhyb3VuZGVkSW50UG9pbnQob3JpZ2luKSk7CiAgICAgSGl0VGVzdFJl
c3VsdCBoaXRUZXN0UmVzdWx0ID0gSGl0VGVzdFJlc3VsdChvcmlnaW5JbkNvbnRlbnRzU3BhY2Up
OwogCkBAIC05MywxMyArMTIxLDM4IEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rv
cjo6Y29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShGCiAKICAgICBi
b29sIGlzUmVwbGFjZWQ7CiAgICAgRmxvYXRSZWN0IHJlbmRlclJlY3Q7Ci0gICAgZG91YmxlIHZp
ZXdwb3J0TWluaW11bVNjYWxlOwotICAgIGRvdWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZTsKIAog
ICAgIGNvbXB1dGVab29tSW5mb3JtYXRpb25Gb3JOb2RlKCpub2RlLCBvcmlnaW4sIHJlbmRlclJl
Y3QsIGlzUmVwbGFjZWQsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2Fs
ZSk7CiAgICAgZGlzcGF0Y2hEaWRDb2xsZWN0R2VvbWV0cnlGb3JTbWFydE1hZ25pZmljYXRpb25H
ZXN0dXJlKG9yaWdpbiwgcmVuZGVyUmVjdCwgdmlzaWJsZUNvbnRlbnRSZWN0LCBpc1JlcGxhY2Vk
LCB2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRNYXhpbXVtU2NhbGUpOwogfQogCisjaWYg
UExBVEZPUk0oSU9TKQorCitzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+
IFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbXB1dGVUZXh0TGVnaWJpbGl0eVNjYWxl
cyhkb3VibGUmIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUmIHZpZXdwb3J0TWF4aW11bVNj
YWxlKQoreworICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdE1heGltdW1UZXh0TGVnaWJp
bGl0eVNjYWxlID0gMTsKKworICAgIGNvbXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2Nh
bGVzKHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7CisgICAgaWYg
KG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXMpCisgICAgICAgIHJldHVybiBtX2NhY2hlZFRl
eHRMZWdpYmlsaXR5U2NhbGVzOworCisgICAgYXV0byBkb2N1bWVudCA9IG1ha2VSZWZQdHIobV93
ZWJQYWdlLm1haW5GcmFtZSgpLT5kb2N1bWVudCgpKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworCisgICAgLy8gRklYTUU6IERldGVybWluZSBhcHBy
b3ByaWF0ZSB0ZXh0IGxlZ2liaWxpdHkgc2NhbGVzIGJ5IGV4YW1pbmluZyB0ZXh0IHJ1bnMgaW4g
dGhlIGRvY3VtZW50LiBGb3Igbm93LCBoYXJkIGNvZGUgdGhlIHNlY29uZCB0ZXh0IGxlZ2liaWxp
dHkgc2NhbGUgdG8gYmUgMSwKKyAgICAvLyBhbmQgc2V0IHRoZSBmaXJzdCB0ZXh0IGxlZ2liaWxp
dHkgc2NhbGUgdG8gYmUgdGhlIGhhbGZ3YXkgcG9pbnQgYmV0d2VlbiB0aGUgaW5pdGlhbCBzY2Fs
ZSBhbmQgMS4KKyAgICBkb3VibGUgZmlyc3RUZXh0TGVnaWJpbGl0eVNjYWxlID0gY2xhbXBUbzxk
b3VibGU+KChtX3dlYlBhZ2Uudmlld3BvcnRDb25maWd1cmF0aW9uKCkuaW5pdGlhbFNjYWxlKCkg
KyBkZWZhdWx0TWF4aW11bVRleHRMZWdpYmlsaXR5U2NhbGUpIC8gMiwgdmlld3BvcnRNaW5pbXVt
U2NhbGUsIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICBkb3VibGUgc2Vjb25kVGV4dExlZ2li
aWxpdHlTY2FsZSA9IGNsYW1wVG88ZG91YmxlPihkZWZhdWx0TWF4aW11bVRleHRMZWdpYmlsaXR5
U2NhbGUsIHZpZXdwb3J0TWluaW11bVNjYWxlLCB2aWV3cG9ydE1heGltdW1TY2FsZSk7CisKKyAg
ICBtX2NhY2hlZFRleHRMZWdpYmlsaXR5U2NhbGVzID0gc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8
ZG91YmxlLCBkb3VibGU+PiB7eyBmaXJzdFRleHRMZWdpYmlsaXR5U2NhbGUsIHNlY29uZFRleHRM
ZWdpYmlsaXR5U2NhbGUgfX07CisgICAgcmV0dXJuIG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2Fs
ZXM7Cit9CisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKIHZvaWQgVmlld0dlc3R1cmVHZW9t
ZXRyeUNvbGxlY3Rvcjo6Y29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoTm9kZSYgbm9kZSwg
RmxvYXRQb2ludCYgb3JpZ2luLCBGbG9hdFJlY3QmIHJlbmRlclJlY3QsIGJvb2wmIGlzUmVwbGFj
ZWQsIGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRNYXhpbXVt
U2NhbGUpCiB7CiAgICAgcmVuZGVyUmVjdCA9IG5vZGUucmVuZGVyUmVjdCgmaXNSZXBsYWNlZCk7
CkBAIC0xMTcsNiArMTcwLDExIEBAIHZvaWQgVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcjo6
Y29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoTm9kZSYgbm9kZSwgRmxvCiAgICAgICAgICAg
ICBpc1JlcGxhY2VkID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KKyAgICBjb21wdXRlTWluaW11
bUFuZE1heGltdW1WaWV3cG9ydFNjYWxlcyh2aWV3cG9ydE1pbmltdW1TY2FsZSwgdmlld3BvcnRN
YXhpbXVtU2NhbGUpOworfQorCit2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNv
bXB1dGVNaW5pbXVtQW5kTWF4aW11bVZpZXdwb3J0U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5p
bXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRNYXhpbXVtU2NhbGUpIGNvbnN0Cit7CiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIHZpZXdwb3J0TWluaW11bVNjYWxlID0gMDsKICAgICB2aWV3cG9ydE1h
eGltdW1TY2FsZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CkBAIC0xMzMs
MTUgKzE5MSwyMCBAQCB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6OmNvbGxlY3RH
ZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKCkKICAgICBib29sIGZyYW1lSGFuZGxlc01h
Z25pZmljYXRpb25HZXN0dXJlID0gbV93ZWJQYWdlLm1haW5XZWJGcmFtZSgpLT5oYW5kbGVzUGFn
ZVNjYWxlR2VzdHVyZSgpOwogICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI6OkRpZENvbGxlY3RHZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKHZp
c2libGVDb250ZW50UmVjdCwgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpKTsKIH0K
KyNlbmRpZgogCiB2b2lkIFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I6Om1haW5GcmFtZURp
ZExheW91dCgpCiB7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIG1fY2FjaGVkVGV4dExlZ2liaWxp
dHlTY2FsZXMucmVzZXQoKTsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9y
ZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRocmVzaG9sZCAmJiBtX3dlYlBhZ2UucmVuZGVyVHJl
ZVNpemUoKSA+PSBtX3JlbmRlclRyZWVTaXplTm90aWZpY2F0aW9uVGhyZXNob2xkKSB7CiAgICAg
ICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OkRpZEhp
dFJlbmRlclRyZWVTaXplVGhyZXNob2xkKCkpOwogICAgICAgICBtX3JlbmRlclRyZWVTaXplTm90
aWZpY2F0aW9uVGhyZXNob2xkID0gMDsKICAgICB9Ci19CiAjZW5kaWYKK30KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IuaAppbmRleCA2ZmZmNjUy
MGZkMWZkODFiNDVlMGEyYjJkZjA2MGMyOTM2ZmVjM2ViLi5jZWMwZTA0N2MwNDhiMjUzOWQ5OGI3
NjYzYjBhMjRhYjA0YmQ0Y2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9WaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oCkBAIC02
MCwxNCArNjAsMjIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbmRlclRyZWVTaXplTm90aWZpY2F0
aW9uVGltZXJGaXJlZCgpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpc3BhdGNoRGlkQ29sbGVjdEdl
b21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJDb3JlOjpGbG9hdFBvaW50IG9y
aWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB2
aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgaXNSZXBsYWNlZEVsZW1lbnQsIGRvdWJsZSB2aWV3cG9y
dE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGRp
c3BhdGNoRGlkQ29sbGVjdEdlb21ldHJ5Rm9yU21hcnRNYWduaWZpY2F0aW9uR2VzdHVyZShXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlQ29udGVudFJlY3QsIGJvb2wgZml0RW50aXJlUmVjdCwg
ZG91YmxlIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUp
OwogICAgIHZvaWQgY29tcHV0ZVpvb21JbmZvcm1hdGlvbkZvck5vZGUoV2ViQ29yZTo6Tm9kZSYs
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbiwgV2ViQ29yZTo6RmxvYXRSZWN0JiByZW5kZXJS
ZWN0LCBib29sJiBpc1JlcGxhY2VkLCBkb3VibGUmIHZpZXdwb3J0TWluaW11bVNjYWxlLCBkb3Vi
bGUmIHZpZXdwb3J0TWF4aW11bVNjYWxlKTsKKyAgICB2b2lkIGNvbXB1dGVNaW5pbXVtQW5kTWF4
aW11bVZpZXdwb3J0U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYg
dmlld3BvcnRNYXhpbXVtU2NhbGUpIGNvbnN0OworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gY29tcHV0ZVRleHRMZWdpYmls
aXR5U2NhbGVzKGRvdWJsZSYgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRvdWJsZSYgdmlld3BvcnRN
YXhpbXVtU2NhbGUpOworI2VuZGlmCiAKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgdWludDY0X3QgbV9yZW5kZXJUcmVlU2l6ZU5vdGlmaWNhdGlvblRo
cmVzaG9sZDsKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPUykKKyAgICBzdGQ6Om9wdGlvbmFsPHN0
ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IG1fY2FjaGVkVGV4dExlZ2liaWxpdHlTY2FsZXM7Cisj
ZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YTVhNDEyZGNiNTRlYzFhZGYwNzc1Mjlj
N2NlOWJhNDNjZjFiM2Q4Li4xYWUzZDczZjk2OWNiY2Y5Yzk0NzhjNjljZTc0MDg2YTUwMDAyZTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MzgyMCw3ICszODIwLDcgQEAgdm9pZCBXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQoKQogICAg
ICAgICBtX2NhY2hlZFBhZ2VDb3VudCA9IHBhZ2VDb3VudDsKICAgICB9CiAKLSNpZiBQTEFURk9S
TShNQUMpCisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgbV92aWV3R2VzdHVyZUdlb21ldHJ5Q29s
bGVjdG9yLT5tYWluRnJhbWVEaWRMYXlvdXQoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBiMjc0NzRi
YmMyY2UzMjM1ZWI0MzU3ZjZhZDNjNWQ4YWE4NTEzZDBjLi42MjA0ZGJlOTc4OGJlYjc5OWMwMjc4
ZWRjZDVhNTg0NDg2NGUwNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCkBAIC04OTEsNiArODkxLDkgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRp
b25XaWxsRW50ZXJGb3JlZ3JvdW5kKGJvb2wgaXNTdXNwZW5kZWRVbmRlckxvY2spOwogICAgIHZv
aWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKICAgICB2b2lkIGNvbXBsZXRlUGVuZGlu
Z1N5bnRoZXRpY0NsaWNrRm9yQ29udGVudENoYW5nZU9ic2VydmVyKCk7CisKKyAgICBib29sIHBs
YXRmb3JtUHJlZmVyc1RleHRMZWdpYmlsaXR5QmFzZWRab29tU2NhbGluZygpIGNvbnN0OworICAg
IGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0Q29uZmlndXJhdGlvbiYgdmlld3BvcnRDb25maWd1cmF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydENvbmZpZ3VyYXRpb247IH0KICNlbmRpZgog
CiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGY3MDY1ZjVlMGJjZDI0ZDVh
MjgyMGE3NmE5MGIwMjMyNGRmOGJkZDEuLmUwNmNjNTY1MDgxNmE0NjkwNGJmMjI4OTRiZmY3MWNl
Y2QyNjZjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCkBAIC0zNDcxLDYgKzM0NzEsMTUgQEAgdm9pZCBXZWJQYWdlOjpkaWRS
ZWNlaXZlUGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudChjb25zdCBTdHJpbmcmIHBhc3N3b3Jk
KQogfQogI2VuZGlmCiAKK2Jvb2wgV2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJzVGV4dExlZ2liaWxp
dHlCYXNlZFpvb21TY2FsaW5nKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RF
KQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30K
KwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIFdlYlBhZ2U6OnByZXBhcmVUb1NlbmRV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdCgpCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>