<?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>181188</bug_id>
          
          <creation_ts>2017-12-29 12:50:58 -0800</creation_ts>
          <short_desc>[Attachment Support] Remove current macOS support for dragging file-backed attachments</short_desc>
          <delta_ts>2018-01-02 13:00:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1384966</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-29 12:50:58 -0800</bug_when>
    <thetext>No client (Mail included) currently exercises these codepaths.

In subsequent patches, I&apos;m reimplementing this feature in a way that is (1) compatible with dragging on iOS, and (2) is generalizable to non-file-backed blobs (i.e. Files that are created entirely via bindings, and thus have no references to file paths on the system).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384967</commentid>
    <comment_count>1</comment_count>
      <attachid>330258</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-29 14:01:44 -0800</bug_when>
    <thetext>Created attachment 330258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384968</commentid>
    <comment_count>2</comment_count>
      <attachid>330259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-29 14:43:01 -0800</bug_when>
    <thetext>Created attachment 330259
Fix Win/GTK builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384979</commentid>
    <comment_count>3</comment_count>
      <attachid>330259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-30 11:09:37 -0800</bug_when>
    <thetext>Comment on attachment 330259
Fix Win/GTK builds

Thanks Dan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384980</commentid>
    <comment_count>4</comment_count>
      <attachid>330259</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-30 11:30:44 -0800</bug_when>
    <thetext>Comment on attachment 330259
Fix Win/GTK builds

Clearing flags on attachment: 330259

Committed r226312: &lt;https://trac.webkit.org/changeset/226312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384981</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-30 11:30:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385219</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-02 13:00:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/36260924&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330258</attachid>
            <date>2017-12-29 14:01:44 -0800</date>
            <delta_ts>2017-12-29 14:42:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181188-20171229140142.patch</filename>
            <type>text/plain</type>
            <size>27181</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2Mjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ5YTc3MjE4M2NmYTZm
YmY5MDQ2NDljMzcyMGRjM2Q4OWYzYTY0Yy4uOWFiNjU4ZjI3MGI2OTE4YTg3Njk2ODc2OTY0YjY2
ODdmMDQ2MThkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTEyLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtBdHRhY2htZW50
IFN1cHBvcnRdIFJlbW92ZSBjdXJyZW50IG1hY09TIHN1cHBvcnQgZm9yIGRyYWdnaW5nIGZpbGUt
YmFja2VkIGF0dGFjaG1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODExODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTdXBwb3J0IGZvciBkcmFnZ2luZyBhdHRhY2htZW50cyBvdXQgYXMgZmlsZXMg
b24gdGhlIE5TUGFzdGVib2FyZCB3YXMgaW50cm9kdWNlZCBpbiByMTgxNzYwLiBIb3dldmVyLCB0
aGlzIGlzCisgICAgICAgICgxKSBhIG1hY09TLXNwZWNpZmljIGltcGxlbWVudGF0aW9uLCBhbmQg
KDIpIGRvZXMgbm90IHN1cHBvcnQgYXR0YWNobWVudHMgd2hvc2UgZmlsZXMgYXJlIGJhY2tlZCBi
eSBpbmxpbmUgZGF0YQorICAgICAgICByYXRoZXIgdGhhbiBhIGZpbGVwYXRoLiBBcyBwYXJ0IG9m
IGFkZGluZyBmdXJ0aGVyIFdlYktpdCBhdHRhY2htZW50IGVsZW1lbnQgc3VwcG9ydCwgc3Vic2Vx
dWVudCBwYXRjaGVzIHdpbGwKKyAgICAgICAgcmVpbXBsZW1lbnQgc3VwcG9ydCBmb3IgZHJhZ2dp
bmcgYXR0YWNobWVudCBlbGVtZW50cyBpbiBhIGNyb3NzLUNvY29hLXBsYXRmb3JtIHdheSB0aGF0
IGFsc28gYWxsb3dzIGZvciBlaXRoZXIKKyAgICAgICAgZGF0YS0gb3IgZmlsZS1iYWNrZWQgYmxv
YnMgdG8gYmUgd3JpdHRlbiB0byB0aGUgcGFzdGVib2FyZC4KKworICAgICAgICBObyBuZXcgZnVu
Y3Rpb25hbGl0eTsgbm8gbmV3IHRlc3RzLiBBbGwgZXhpc3RpbmcgbGF5b3V0IGFuZCBBUEkgdGVz
dHMgc3RpbGwgcGFzcy4KKworICAgICAgICAqIHBhZ2UvRHJhZ0NsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RHJhZ0NsaWVudDo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRyYWdDbGllbnQ6OmRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyk6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdnaW5nSW1hZ2VVUkwg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdnaW5nQXR0YWNo
bWVudFVSTCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9tYWMvRHJhZ0NvbnRyb2xs
ZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZGVjbGFyZUFuZFdy
aXRlQXR0YWNobWVudCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVBdHRhY2ht
ZW50VVJMIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5oOgorCiAyMDE3LTEyLTIyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIERvbid0IEJsb2ItY29udmVydCBpbWFn
ZXMgYW5kIGF0dGFjaG1lbnRzIHdpdGggaHR0cHM6LCBodHRwOiBvciBkYXRhOiB1cmxzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDg0ZWFmMTc3N2NmNTZhNDM2MjE4YzBjNGY5ZTFhMjc5MDJmYmQyZjYuLjgyYmI3ZmZh
MmZkNTE5YTdjMTdkZDQ2NzM2MmU1NTNlYmRlZDNlMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTctMTItMjkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0F0dGFjaG1lbnQgU3VwcG9ydF0gUmVtb3ZlIGN1cnJlbnQgbWFjT1Mgc3VwcG9y
dCBmb3IgZHJhZ2dpbmcgZmlsZS1iYWNrZWQgYXR0YWNobWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTE4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJDb3JlL0NoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0UHJvbWlzZWREYXRhRm9y
QXR0YWNobWVudCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVudCk6IERl
bGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQpOiBE
ZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0Ns
aWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdD
bGllbnRNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkRyYWdDbGllbnQ6OmRlY2xhcmVBbmRX
cml0ZUF0dGFjaG1lbnQpOiBEZWxldGVkLgorCiAyMDE3LTEyLTIyICBKZWZmIE1pbGxlciAgPGpl
ZmZtQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBXZWJzaXRlUG9saWNpZXMgQVBJIG9iamVj
dCB0byBiZSBicmlkZ2VkIHRvIF9XS1dlYnNpdGVQb2xpY2llcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCmluZGV4IDA2M2E4MGEwN2RjNzQwNzc5MmZkMzk3OGU1ZThiZWFhYzY0NDcyNTYuLmNj
Njk5NmU2NTQ5OGY4YzNkZDQyMWRmMGVlZTEwNDU4NDBiMjQ1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMi0yOSAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbQXR0YWNobWVudCBTdXBwb3J0XSBS
ZW1vdmUgY3VycmVudCBtYWNPUyBzdXBwb3J0IGZvciBkcmFnZ2luZyBmaWxlLWJhY2tlZCBhdHRh
Y2htZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgxMTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbC4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJE
cmFnQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRHJhZ0NsaWVudDo6ZGVjbGFyZUFuZFdyaXRlQXR0
YWNobWVudCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViSFRNTFZpZXcgbmFtZXNPZlByb21pc2VkRmlsZXNEcm9wcGVkQXREZXN0aW5h
dGlvbjpdKToKKwogMjAxNy0xMi0yMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBjb250aW51ZSB0byBmaXggYnVpbGQgZmFpbHVy
ZXMgZHVlIHRvIEFwcEtpdCBBUEkgZGVwcmVjYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgK
aW5kZXggOTUzODcxNzQ3MGI1ZTg4NjFmODY3YmNkNDNhN2UwYmU3NGUwNDcyNS4uN2NkNjI1MzRl
OTk5NTUyNzAwNTZjOTJhNDA5NDY3NGZmNzBiNWM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50
LmgKQEAgLTU4LDkgKzU4LDYgQEAgcHVibGljOgogICAgIC8vIE1hYy1zcGVjaWZpYyBoZWxwZXIg
ZnVuY3Rpb24gdG8gYWxsb3cgYWNjZXNzIHRvIHdlYiBhcmNoaXZlcyBhbmQgTlNQYXN0ZWJvYXJk
IGV4dHJhcyBpbiBXZWJLaXQuCiAgICAgLy8gVGhpcyBpcyBub3QgYWJzdHJhY3QgYXMgdGhhdCB3
b3VsZCByZXF1aXJlIGFub3RoZXIgI2lmIFBMQVRGT1JNKENPQ09BKSBmb3IgdGhlIFNWR0ltYWdl
IGNsaWVudCBlbXB0eSBpbXBsZW50YXRpb24uCiAgICAgdmlydHVhbCB2b2lkIGRlY2xhcmVBbmRX
cml0ZURyYWdJbWFnZShjb25zdCBTdHJpbmcmLCBFbGVtZW50JiwgY29uc3QgVVJMJiwgY29uc3Qg
U3RyaW5nJiwgRnJhbWUqKSB7IH0KLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAg
IHZpcnR1YWwgdm9pZCBkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGNvbnN0IFN0cmluZyYsIEVs
ZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBGcmFtZSopIHsgfQotI2VuZGlmCiAj
ZW5kaWYKIAogICAgIHZpcnR1YWwgfkRyYWdDbGllbnQoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDE2YjE3ZGI3ZmVjNDRiN2FlOGI1OTA1MDMz
ZDc5ZDE1MWJhMmM3MjUuLjlmYWYyYjhlNWQ3MTkxZDE5MWZlZmM1NjZlY2IwZDc1NTBjZTExN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC04NzAsMTAgKzg3MCw2
IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFn
U3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAKICAgICBVUkwgbGlua1VSTCA9IGhpdFRlc3RS
ZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCk7CiAgICAgVVJMIGltYWdlVVJMID0gaGl0VGVzdFJlc3Vs
dC5hYnNvbHV0ZUltYWdlVVJMKCk7Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLSAg
ICBVUkwgYXR0YWNobWVudFVSTCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVBdHRhY2htZW50VVJM
KCk7Ci0gICAgbV9kcmFnZ2luZ0F0dGFjaG1lbnRVUkwgPSBVUkwoKTsKLSNlbmRpZgogCiAgICAg
SW50UG9pbnQgbW91c2VEcmFnZ2VkUG9pbnQgPSBzcmMudmlldygpLT53aW5kb3dUb0NvbnRlbnRz
KGRyYWdFdmVudC5wb3NpdGlvbigpKTsKIApAQCAtMTA3OSwxMSArMTA3NSw3IEBAIGJvb2wgRHJh
Z0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRl
LCBEcmFnT3BlcmF0aW9uCiAgICAgICAgIGF1dG8gcHJldmlvdXNTZWxlY3Rpb24gPSBzcmMuc2Vs
ZWN0aW9uKCkuc2VsZWN0aW9uKCk7CiAgICAgICAgIGlmIChoYXNEYXRhID09IEhhc05vbkRlZmF1
bHRQYXN0ZWJvYXJkRGF0YTo6Tm8pIHsKICAgICAgICAgICAgIHNlbGVjdEVsZW1lbnQoZWxlbWVu
dCk7Ci0gICAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRVUkwuaXNFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICAgICAgLy8gVXNlIHRoZSBhdHRhY2htZW50IFVSTCBzcGVjaWZpZWQgYnkgdGhlIGZpbGUg
YXR0cmlidXRlIHRvIHBvcHVsYXRlIHRoZSBwYXN0ZWJvYXJkLgotICAgICAgICAgICAgICAgIG1f
ZHJhZ2dpbmdBdHRhY2htZW50VVJMID0gYXR0YWNobWVudFVSTDsKLSAgICAgICAgICAgICAgICBk
ZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGRhdGFUcmFuc2ZlciwgZWxlbWVudCwgYXR0YWNobWVu
dFVSTCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHNyYy5lZGl0b3IoKS5jbGllbnQoKSkgewor
ICAgICAgICAgICAgaWYgKHNyYy5lZGl0b3IoKS5jbGllbnQoKSkgewogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaWYgbm8gZmlsZSBVUkwgaXMgc3Bl
Y2lmaWVkLCBjYWxsIG91dCB0byB0aGUgaW5qZWN0ZWQgYnVuZGxlIHRvIHBvcHVsYXRlIHRoZSBw
YXN0ZWJvYXJkIHdpdGggZGF0YS4KICAgICAgICAgICAgICAgICBhdXRvJiBlZGl0b3IgPSBzcmMu
ZWRpdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggMDViODQ4N2Qx
ZDY0ZjU1MjE3NDdhMDQ1YjYzNGM1MGFmMDFlN2RkMC4uMzJjZTMzODUxODk0YTk3YWM4YmU0ZGYw
OWFiMGQxNjE1MDIwNTY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAt
NzQsOSArNzQsNiBAQCBzdHJ1Y3QgRHJhZ1N0YXRlOwogICAgICAgICBib29sIGRpZEluaXRpYXRl
RHJhZygpIGNvbnN0IHsgcmV0dXJuIG1fZGlkSW5pdGlhdGVEcmFnOyB9CiAgICAgICAgIERyYWdP
cGVyYXRpb24gc291cmNlRHJhZ09wZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlRHJh
Z09wZXJhdGlvbjsgfQogICAgICAgICBjb25zdCBVUkwmIGRyYWdnaW5nSW1hZ2VVUkwoKSBjb25z
dCB7IHJldHVybiBtX2RyYWdnaW5nSW1hZ2VVUkw7IH0KLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQotICAgICAgICBjb25zdCBVUkwmIGRyYWdnaW5nQXR0YWNobWVudFVSTCgpIGNvbnN0
IHsgcmV0dXJuIG1fZHJhZ2dpbmdBdHRhY2htZW50VVJMOyB9Ci0jZW5kaWYKICAgICAgICAgdm9p
ZCBzZXREcmFnT2Zmc2V0KGNvbnN0IEludFBvaW50JiBvZmZzZXQpIHsgbV9kcmFnT2Zmc2V0ID0g
b2Zmc2V0OyB9CiAgICAgICAgIGNvbnN0IEludFBvaW50JiBkcmFnT2Zmc2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9kcmFnT2Zmc2V0OyB9CiAgICAgICAgIERyYWdTb3VyY2VBY3Rpb24gZHJhZ1NvdXJj
ZUFjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZHJhZ1NvdXJjZUFjdGlvbjsgfQpAQCAtMTMyLDkg
KzEyOSw2IEBAIHN0cnVjdCBEcmFnU3RhdGU7CiAKICAgICAgICAgdm9pZCBjbGVhbnVwQWZ0ZXJT
eXN0ZW1EcmFnKCk7CiAgICAgICAgIHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKERhdGFU
cmFuc2ZlciYsIEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKLSNp
ZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAgICAgICB2b2lkIGRlY2xhcmVBbmRXcml0
ZUF0dGFjaG1lbnQoRGF0YVRyYW5zZmVyJiwgRWxlbWVudCYsIGNvbnN0IFVSTCYpOwotI2VuZGlm
CiAgICAgICAgIFBhZ2UmIG1fcGFnZTsKICAgICAgICAgRHJhZ0NsaWVudCYgbV9jbGllbnQ7CiAK
QEAgLTE1MSw5ICsxNDUsNiBAQCBzdHJ1Y3QgRHJhZ1N0YXRlOwogICAgICAgICBJbnRQb2ludCBt
X2RyYWdPZmZzZXQ7CiAgICAgICAgIFVSTCBtX2RyYWdnaW5nSW1hZ2VVUkw7CiAgICAgICAgIGJv
b2wgbV9pc1BlcmZvcm1pbmdEcm9wIHsgZmFsc2UgfTsKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQotICAgICAgICBVUkwgbV9kcmFnZ2luZ0F0dGFjaG1lbnRVUkw7Ci0jZW5kaWYKICAg
ICB9OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0RyYWdnYWJsZUxpbmsoY29uc3QgRWxl
bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRHJhZ0NvbnRyb2xs
ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQpp
bmRleCBhZGQ4YjcwNjY4MDA0Yzc5ZWYwOGM2NDc2N2ZmYjBkODM3MGU5MGMxLi41ZTg3MmM0OTQx
YWNhNDBjNmNkOTQxYmFlMDI3MDk0ZjE4YTNjZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQpAQCAtMTM4LDE0ICsxMzgsNiBAQCB2b2lkIERyYWdD
b250cm9sbGVyOjp1cGRhdGVTdXBwb3J0ZWRUeXBlSWRlbnRpZmllcnNGb3JEcmFnSGFuZGxpbmdN
ZXRob2QoRHJhZ0hhbgogCiAjZW5kaWYKIAotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQp
Ci12b2lkIERyYWdDb250cm9sbGVyOjpkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KERhdGFUcmFu
c2ZlciYgZGF0YVRyYW5zZmVyLCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBVUkwmIHVybCkKLXsK
LSAgICBjb25zdCBIVE1MQXR0YWNobWVudEVsZW1lbnQmIGF0dGFjaG1lbnQgPSBkb3duY2FzdDxI
VE1MQXR0YWNobWVudEVsZW1lbnQ+KGVsZW1lbnQpOwotICAgIG1fY2xpZW50LmRlY2xhcmVBbmRX
cml0ZUF0dGFjaG1lbnQoZGF0YVRyYW5zZmVyLnBhc3RlYm9hcmQoKS5uYW1lKCksIGVsZW1lbnQs
IHVybCwgYXR0YWNobWVudC5maWxlKCktPnBhdGgoKSwgZWxlbWVudC5kb2N1bWVudCgpLmZyYW1l
KCkpOwotfQotI2VuZGlmCi0gICAgCiB2b2lkIERyYWdDb250cm9sbGVyOjpkZWNsYXJlQW5kV3Jp
dGVEcmFnSW1hZ2UoRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIEVsZW1lbnQmIGVsZW1lbnQs
IGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGxhYmVsKQogewogICAgIG1fY2xpZW50LmRl
Y2xhcmVBbmRXcml0ZURyYWdJbWFnZShkYXRhVHJhbnNmZXIucGFzdGVib2FyZCgpLm5hbWUoKSwg
ZWxlbWVudCwgdXJsLCBsYWJlbCwgZWxlbWVudC5kb2N1bWVudCgpLmZyYW1lKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDQyNDVhM2NlMDI2YzAw
ZjFjNTNhYTYxZDkzNjA0Mzk5Nzc5MDI2ZmYuLjAwZTFiMTNiODEwNjMxZGE1NjdhYzI2ZDI5MDRh
NzJlZThiNDVkYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5j
cHAKQEAgLTM0MSwzMCArMzQxLDYgQEAgSW50UmVjdCBIaXRUZXN0UmVzdWx0OjppbWFnZVJlY3Qo
KSBjb25zdAogICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+cmVuZGVyQm94KCktPmFi
c29sdXRlQ29udGVudFF1YWQoKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogfQogCi0jaWYgRU5B
QkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLVVSTCBIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUF0dGFj
aG1lbnRVUkwoKSBjb25zdAotewotICAgIGlmICghbV9pbm5lck5vblNoYXJlZE5vZGUpCi0gICAg
ICAgIHJldHVybiBVUkwoKTsKLSAgICAKLSAgICBpZiAoIShtX2lubmVyTm9uU2hhcmVkTm9kZS0+
cmVuZGVyZXIoKSAmJiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+cmVuZGVyZXIoKS0+aXNBdHRhY2ht
ZW50KCkpKQotICAgICAgICByZXR1cm4gVVJMKCk7Ci0gICAgCi0gICAgaWYgKCFpczxIVE1MQXR0
YWNobWVudEVsZW1lbnQ+KCptX2lubmVyTm9uU2hhcmVkTm9kZSkpCi0gICAgICAgIHJldHVybiBV
UkwoKTsKLSAgICBGaWxlKiBhdHRhY2htZW50RmlsZSA9IGRvd25jYXN0PEhUTUxBdHRhY2htZW50
RWxlbWVudD4oKm1faW5uZXJOb25TaGFyZWROb2RlKS5maWxlKCk7Ci0gICAgaWYgKCFhdHRhY2ht
ZW50RmlsZSkKLSAgICAgICAgcmV0dXJuIFVSTCgpOwotICAgIAotICAgIGF1dG8gZmlsZXBhdGgg
PSBhdHRhY2htZW50RmlsZS0+cGF0aCgpOwotICAgIGlmICghZmlsZXBhdGguaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gVVJMOjpmaWxlVVJMV2l0aEZpbGVTeXN0ZW1QYXRoKGZpbGVwYXRoKTsK
LQotICAgIEFTU0VSVChhdHRhY2htZW50RmlsZS0+dXJsKCkucHJvdG9jb2xJc0Jsb2IoKSk7Ci0g
ICAgcmV0dXJuIGF0dGFjaG1lbnRGaWxlLT51cmwoKTsKLX0KLSNlbmRpZgotCiBVUkwgSGl0VGVz
dFJlc3VsdDo6YWJzb2x1dGVJbWFnZVVSTCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubmVyTm9u
U2hhcmVkTm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCmluZGV4
IDA0YjM4ODJmMGUyZTA4YjIyOGQ5NzQzY2RmMjE1OTNhNzQwZTA1ZDQuLmE2YzdiNjE1ZDBiNjBj
ZTdlYjY2MmYyM2M0YzE5NjVlMzU1MmE3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuaApAQCAtMTA1LDkgKzEwNSw2IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBVUkwgYWJzb2x1dGVQREZVUkwoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBVUkwg
YWJzb2x1dGVNZWRpYVVSTCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFVSTCBhYnNvbHV0
ZUxpbmtVUkwoKSBjb25zdDsKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAgIFdF
QkNPUkVfRVhQT1JUIFVSTCBhYnNvbHV0ZUF0dGFjaG1lbnRVUkwoKSBjb25zdDsKLSNlbmRpZgog
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0ZXh0Q29udGVudCgpIGNvbnN0OwogICAgIGJvb2wg
aXNPdmVyTGluaygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNDb250ZW50RWRp
dGFibGUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KaW5kZXggMjYxZTg1MTdjOTdhMTJhYTk1YzRiODE0OGU4ZTAwNTUy
ZTZjNzg5ZC4uZjA1M2E4MTdjYjRlMTRhMTI5MjU5MTgwY2FjY2Y5NDYxNjBkZjdlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0K
QEAgLTExNSwxNSArMTE1LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFByb21pc2VkRGF0YUZv
ckltYWdlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGEKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCi0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLQotdm9pZCBX
ZWJQYWdlUHJveHk6OnNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiwg
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi0jZW5kaWYK
LQogdm9pZCBXZWJQYWdlUHJveHk6OnNldERyYWdDYXJldFJlY3QoY29uc3QgSW50UmVjdCYgZHJh
Z0NhcmV0UmVjdCkKIHsKICAgICBpZiAobV9jdXJyZW50RHJhZ0NhcmV0UmVjdCA9PSBkcmFnQ2Fy
ZXRSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5k
ZXggNzg3YmE1MjY5YTNkMzExMzI4YmZiMjVmYjk5ZTc4MmFkOTFhOWFhOS4uYTU0NzJiYjFjYzUy
ZGZmMTEwYWRkZmViODQ3ZDk3M2Y2ZTYyOGE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC00MTUsOSArNDE1LDYgQEAgcHVibGljOgogICAgIHZv
aWQgZHJhZ0ltYWdlRm9yVmlldyhOU1ZpZXcgKiwgTlNJbWFnZSAqLCBDR1BvaW50IGNsaWVudFBv
aW50LCBib29sIGxpbmtEcmFnKTsKICAgICB2b2lkIHNldEZpbGVBbmRVUkxUeXBlcyhOU1N0cmlu
ZyAqZmlsZW5hbWUsIE5TU3RyaW5nICpleHRlbnNpb24sIE5TU3RyaW5nICp0aXRsZSwgTlNTdHJp
bmcgKnVybCwgTlNTdHJpbmcgKnZpc2libGVVUkwsIE5TUGFzdGVib2FyZCAqKTsKICAgICB2b2lk
IHNldFByb21pc2VkRGF0YUZvckltYWdlKFdlYkNvcmU6OkltYWdlKiwgTlNTdHJpbmcgKmZpbGVu
YW1lLCBOU1N0cmluZyAqZXh0ZW5zaW9uLCBOU1N0cmluZyAqdGl0bGUsIE5TU3RyaW5nICp1cmws
IE5TU3RyaW5nICp2aXNpYmxlVVJMLCBXZWJDb3JlOjpTaGFyZWRCdWZmZXIqIGFyY2hpdmVCdWZm
ZXIsIE5TU3RyaW5nICpwYXN0ZWJvYXJkTmFtZSk7Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKLSAgICB2b2lkIHNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQoTlNTdHJpbmcgKmZp
bGVuYW1lLCBOU1N0cmluZyAqZXh0ZW5zaW9uLCBOU1N0cmluZyAqdGl0bGUsIE5TU3RyaW5nICp1
cmwsIE5TU3RyaW5nICp2aXNpYmxlVVJMLCBOU1N0cmluZyAqcGFzdGVib2FyZE5hbWUpOwotI2Vu
ZGlmCiAgICAgdm9pZCBwYXN0ZWJvYXJkQ2hhbmdlZE93bmVyKE5TUGFzdGVib2FyZCAqKTsKICAg
ICB2b2lkIHByb3ZpZGVEYXRhRm9yUGFzdGVib2FyZChOU1Bhc3RlYm9hcmQgKiwgTlNTdHJpbmcg
KnR5cGUpOwogICAgIE5TQXJyYXkgKm5hbWVzT2ZQcm9taXNlZEZpbGVzRHJvcHBlZEF0RGVzdGlu
YXRpb24oTlNVUkwgKmRyb3BEZXN0aW5hdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDI0MjY4NmJkMTg2OWY2NTNiM2EzYmViMzQ1YWJi
YWU5MjdiMDgyNjQuLjY4ZDZkMGE5MWVmNTE5NzA4NGU5MTg0MzBhYTU4OTI4ZmUxMWVlOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0zODM1
LDIwICszODM1LDYgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0UHJvbWlzZWREYXRhRm9ySW1hZ2Uo
V2ViQ29yZTo6SW1hZ2UqIGltYWdlLCBOU1N0cmluZyAqZmlsZW4KICAgICBtX3Byb21pc2VkSW1h
Z2UgPSBpbWFnZTsKIH0KIAotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi12b2lkIFdl
YlZpZXdJbXBsOjpzZXRQcm9taXNlZERhdGFGb3JBdHRhY2htZW50KE5TU3RyaW5nICpmaWxlbmFt
ZSwgTlNTdHJpbmcgKmV4dGVuc2lvbiwgTlNTdHJpbmcgKnRpdGxlLCBOU1N0cmluZyAqdXJsLCBO
U1N0cmluZyAqdmlzaWJsZVVSTCwgTlNTdHJpbmcgKnBhc3RlYm9hcmROYW1lKQotewotICAgIE5T
UGFzdGVib2FyZCAqcGFzdGVib2FyZCA9IFtOU1Bhc3RlYm9hcmQgcGFzdGVib2FyZFdpdGhOYW1l
OnBhc3RlYm9hcmROYW1lXTsKLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IHR5cGVzID0g
YWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0V2l0aE9iamVjdHM6V2ViQ29yZTo6
bGVnYWN5RmlsZXNQcm9taXNlUGFzdGVib2FyZFR5cGUoKSwgbmlsXSk7Ci0gICAgW3R5cGVzIGFk
ZE9iamVjdHNGcm9tQXJyYXk6UGFzdGVib2FyZFR5cGVzOjpmb3JVUkwoKV07Ci0gICAgW3Bhc3Rl
Ym9hcmQgZGVjbGFyZVR5cGVzOnR5cGVzLmdldCgpIG93bmVyOm1fdmlldy5nZXRBdXRvcmVsZWFz
ZWQoKV07Ci0gICAgc2V0RmlsZUFuZFVSTFR5cGVzKGZpbGVuYW1lLCBleHRlbnNpb24sIHRpdGxl
LCB1cmwsIHZpc2libGVVUkwsIHBhc3RlYm9hcmQpOwotICAgIFtwYXN0ZWJvYXJkIHNldFByb3Bl
cnR5TGlzdDpAW3RpdGxlXSBmb3JUeXBlOldlYkNvcmU6OmxlZ2FjeUZpbGVuYW1lc1Bhc3RlYm9h
cmRUeXBlKCldOwotCi0gICAgbV9wcm9taXNlZEltYWdlID0gbnVsbHB0cjsKLX0KLSNlbmRpZgot
CiB2b2lkIFdlYlZpZXdJbXBsOjpwYXN0ZWJvYXJkQ2hhbmdlZE93bmVyKE5TUGFzdGVib2FyZCAq
cGFzdGVib2FyZCkKIHsKICAgICBtX3Byb21pc2VkSW1hZ2UgPSBudWxscHRyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDI2MWIwZGI4NTE2MDg2OTk5NzBmNGI0NGI5ZWNk
MzFkYmIyYTU3NDYuLjBjNTA5ZGFiODE3NWQ4YjhiOWRiOWIxOThkMDNmYjQ3NjI4ZDBhYWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTE5MSw5ICsxOTEsNiBAQCBwdWJs
aWM6CiAKICNpZiBVU0UoQVBQS0lUKQogICAgIHZpcnR1YWwgdm9pZCBzZXRQcm9taXNlZERhdGFG
b3JJbWFnZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBSZWY8V2ViQ29yZTo6U2hhcmVk
QnVmZmVyPiYmIGltYWdlQnVmZmVyLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBTdHJp
bmcmIGV4dGVuc2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgdmlzaWJsZVVybCwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBh
cmNoaXZlQnVmZmVyKSA9IDA7Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVudChjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBTdHJpbmcmIGV4dGVu
c2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgdmlzaWJsZVVybCkgPSAwOwotI2VuZGlmCiAjZW5kaWYKIAogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6RmxvYXRSZWN0IGNvbnZlcnRUb0RldmljZVNwYWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVj
dCYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDY1M2U4
ZDIyYmEyNjNhNDhjMTBkNGM3ZWNjYmIwODlkNWU3NGVlZi4uOWU2NDAwYjg1Zjg2ZDRiOTMzNGQy
MTQ1ZTI5MWMzMTAxNjhkNzAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTg3MCw5ICs4NzAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydERyYWcoY29uc3Qg
V2ViQ29yZTo6RHJhZ0l0ZW0mLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgZHJhZ0lt
YWdlSGFuZGxlKTsKICAgICB2b2lkIHNldFByb21pc2VkRGF0YUZvckltYWdlKGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBpbWFnZUhhbmRs
ZSwgdWludDY0X3QgaW1hZ2VTaXplLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBTdHJp
bmcmIGV4dGVuc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHRp
dGxlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB2aXNpYmxlVVJMLCBjb25zdCBT
aGFyZWRNZW1vcnk6OkhhbmRsZSYgYXJjaGl2ZUhhbmRsZSwgdWludDY0X3QgYXJjaGl2ZVNpemUp
OwotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0gICAgdm9pZCBzZXRQcm9taXNlZERh
dGFGb3JBdHRhY2htZW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLCBjb25zdCBTdHJpbmcmIHRpdGxl
LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB2aXNpYmxlVVJMKTsKLSNlbmRpZgog
I2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc3RhcnREcmFnKFdlYlNlbGVjdGlv
bkRhdGEmJiwgdWludDY0X3QgZHJhZ09wZXJhdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpI
YW5kbGUmIGRyYWdJbWFnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjA0ODVhZTAxNjgzY2JmMzFmMDVmZTRiNDg4OTc0ZmU2
Yzg4MzY3NC4uZGNlZWRlMzk0YWU4NDc2MjU3ZGRkNDBhZTdiNjNiNDVkNDNhMTQ5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAt
MzA5LDkgKzMwOSw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjaWYgUExBVEZPUk0o
Q09DT0EpICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgU3RhcnREcmFnKHN0cnVjdCBXZWJD
b3JlOjpEcmFnSXRlbSBkcmFnSXRlbSwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBk
cmFnSW1hZ2UpCiAgICAgU2V0UHJvbWlzZWREYXRhRm9ySW1hZ2UoU3RyaW5nIHBhc3RlYm9hcmRO
YW1lLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGltYWdlSGFuZGxlLCB1aW50NjRfdCBp
bWFnZVNpemUsIFN0cmluZyBmaWxlbmFtZSwgU3RyaW5nIGV4dGVuc2lvbiwgU3RyaW5nIHRpdGxl
LCBTdHJpbmcgdXJsLCBTdHJpbmcgdmlzaWJsZVVSTCwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6Okhh
bmRsZSBhcmNoaXZlSGFuZGxlLCB1aW50NjRfdCBhcmNoaXZlU2l6ZSkKLSNpZiBFTkFCTEUoQVRU
QUNITUVOVF9FTEVNRU5UKQotICAgIFNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQoU3RyaW5n
IHBhc3RlYm9hcmROYW1lLCBTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBleHRlbnNpb24sIFN0cmlu
ZyB0aXRsZSwgU3RyaW5nIHVybCwgU3RyaW5nIHZpc2libGVVUkwpCi0jZW5kaWYKICNlbmRpZgog
I2lmIFBMQVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBTdGFydERyYWco
c3RydWN0IFdlYktpdDo6V2ViU2VsZWN0aW9uRGF0YSBzZWxlY3Rpb24sIHVpbnQ2NF90IGRyYWdP
cGVyYXRpb24sIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgZHJhZ0ltYWdlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCBi
MzEzOTVhNGU3ZGNkODYzYmE0ZGI2ZWEyMzk3Nzk4NDc1OTcxNzViLi41NTY4MzU3YjI1MmE5MWI4
ODU2YmQ2YjU4ZmM5MWQzNTNkOTBkMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtOTcsOSArOTcsNiBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2V0RHJhZ0ltYWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlv
biwgUmVmPFNoYXJlYWJsZUJpdG1hcD4mJiBkcmFnSW1hZ2UsIFdlYkNvcmU6OkRyYWdTb3VyY2VB
Y3Rpb24pIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0UHJvbWlzZWREYXRhRm9ySW1hZ2UoY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBpbWFn
ZUJ1ZmZlciwgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBleHRlbnNpb24s
IGNvbnN0IFN0cmluZyYgdGl0bGUsCiAgICAgICAgIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBT
dHJpbmcmIHZpc2libGVVcmwsIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgYXJjaGl2
ZUJ1ZmZlcikgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLSAgICB2
b2lkIHNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJk
TmFtZSwgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBleHRlbnNpb24sIGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHZpc2li
bGVVcmwpIG92ZXJyaWRlOwotI2VuZGlmCiAgICAgdm9pZCB1cGRhdGVTZWN1cmVJbnB1dFN0YXRl
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXNldFNlY3VyZUlucHV0U3RhdGUoKSBvdmVycmlkZTsK
ICAgICB2b2lkIG5vdGlmeUlucHV0Q29udGV4dEFib3V0RGlzY2FyZGVkQ29tcG9zaXRpb24oKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5tbQppbmRleCBmMTZkOTBkOGRiZGQzMzg0NDk1NTUyZGMzYjNjM2I1NzQxZWVlMGY0Li43
Zjc3NzNkMTBjZmQyMTAzZDBhNDBjNDQzMGU0NDI3MGFkYTBhMmRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC0zNjQsMTMgKzM2
NCw2IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNldFByb21pc2VkRGF0YUZvckltYWdlKGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFJlZjxTCiAgICAgbV9pbXBsLT5zZXRQcm9taXNlZERh
dGFGb3JJbWFnZShpbWFnZS5nZXQoKSwgZmlsZW5hbWUsIGV4dGVuc2lvbiwgdGl0bGUsIHVybCwg
dmlzaWJsZVVSTCwgYXJjaGl2ZUJ1ZmZlci5nZXQoKSwgcGFzdGVib2FyZE5hbWUpOwogfQogCi0j
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLXZvaWQgUGFnZUNsaWVudEltcGw6OnNldFBy
b21pc2VkRGF0YUZvckF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29u
c3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBleHRlbnNpb24sIGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHZpc2libGVVUkwpCi17
Ci0gICAgbV9pbXBsLT5zZXRQcm9taXNlZERhdGFGb3JBdHRhY2htZW50KGZpbGVuYW1lLCBleHRl
bnNpb24sIHRpdGxlLCB1cmwsIHZpc2libGVVUkwsIHBhc3RlYm9hcmROYW1lKTsKLX0KLSNlbmRp
ZgotCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjp1cGRhdGVTZWN1cmVJbnB1dFN0YXRlKCkKIHsKICAg
ICBtX2ltcGwtPnVwZGF0ZVNlY3VyZUlucHV0U3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IDM0YzM2NWEyN2FiNDY4YmZiZGZk
ZTFhNDg5MjhlZGFiY2YyYTczYjUuLjIwZjliNDI4ZDUxMDRlOTY2Nzc4NzllOWZlZGQxYjYxNWE4
NzA3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1h
Yy5tbQpAQCAtMjkwLDE0ICsyOTAsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJvbWlzZWRE
YXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgUwogICAgIG1f
cGFnZUNsaWVudC5zZXRQcm9taXNlZERhdGFGb3JJbWFnZShwYXN0ZWJvYXJkTmFtZSwgV1RGTW92
ZShpbWFnZUJ1ZmZlciksIGZpbGVuYW1lLCBleHRlbnNpb24sIHRpdGxlLCB1cmwsIHZpc2libGVV
UkwsIFdURk1vdmUoYXJjaGl2ZUJ1ZmZlcikpOwogfQogCi0jaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKLXZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcm9taXNlZERhdGFGb3JBdHRhY2htZW50
KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNv
bnN0IFN0cmluZyYgZXh0ZW5zaW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgU3RyaW5nJiB2aXNpYmxlVVJMKQotewotICAgIE1FU1NBR0VfQ0hFQ0tfVVJM
KHVybCk7Ci0gICAgTUVTU0FHRV9DSEVDS19VUkwodmlzaWJsZVVSTCk7Ci0gICAgbV9wYWdlQ2xp
ZW50LnNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQocGFzdGVib2FyZE5hbWUsIGZpbGVuYW1l
LCBleHRlbnNpb24sIHRpdGxlLCB1cmwsIHZpc2libGVVUkwpOwotfQotI2VuZGlmCiAjZW5kaWYK
IAogdm9pZCBXZWJQYWdlUHJveHk6OnBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb2ludCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmluZGV4IGQzZmY1
MzRlZjBiNTk5YmExNTU3ZGVhODJlZDRjMzk2MGJjODU5YjAuLjlmN2Q3ZmM1MGI2ZWM4YWVlNTZi
YjI1OWI3MzM0MGM0MGQ5MzY3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaApAQCAtNTEsOSArNTEsNiBAQCBw
cml2YXRlOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVE
cmFnSW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgV2ViQ29yZTo6RWxlbWVudCYs
IGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6OkZyYW1lKikgb3Zl
cnJpZGU7Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLSAgICB2b2lkIGRlY2xhcmVB
bmRXcml0ZUF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgV2ViQ29yZTo6
RWxlbWVudCYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFN0cmluZyYgcGF0aCwgV2ViQ29y
ZTo6RnJhbWUqKSBvdmVycmlkZTsKLSNlbmRpZgogI2VuZGlmCiAKICAgICB2b2lkIGRyYWdDb250
cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0K
aW5kZXggN2YyOTY2MGY2NmE4MDQ0MTlmOWM2ZDc4ODlmZTFjN2Q3OWEyYjFiYy4uYWMyY2E0YzZj
ZGQxZGM4YWEyMjU1M2EzZjZkZjU3M2Q0NzAxMWRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRHJhZ0NsaWVu
dE1hYy5tbQpAQCAtMTE1LDE5ICsxMTUsNiBAQCBzdGF0aWMgV2ViQ29yZTo6Q2FjaGVkSW1hZ2Uq
IGNhY2hlZEltYWdlKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIGltYWdlOwogfQogCi0j
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLXZvaWQgV2ViRHJhZ0NsaWVudDo6ZGVjbGFy
ZUFuZFdyaXRlQXR0YWNobWVudChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwYXRoLCBXZWJDb3JlOjpG
cmFtZSogZnJhbWUpCi17Ci0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCi0gICAg
QVNTRVJUKHBhc3RlYm9hcmROYW1lID09IFN0cmluZyhOU0RyYWdQYm9hcmQpKTsKLSNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBwb3AKLSAgICAKLSAgICBOU1VSTCogbnNVUkwgPSAoTlNVUkwgKil1
cmw7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldFByb21pc2Vk
RGF0YUZvckF0dGFjaG1lbnQocGFzdGVib2FyZE5hbWUsIFN0cmluZyhuc1VSTC5sYXN0UGF0aENv
bXBvbmVudCksIFN0cmluZyhuc1VSTC5wYXRoRXh0ZW5zaW9uKSwgcGF0aCwgU3RyaW5nKG5zVVJM
LmFic29sdXRlU3RyaW5nKSwgdXNlclZpc2libGVTdHJpbmcobnNVUkwpKSk7Ci19Ci0jZW5kaWYK
LQogdm9pZCBXZWJEcmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgbGFiZWwsIEZyYW1lKikKIHsKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
dXNoCkBAIC0yMzIsMTUgKzIxOSw2IEBAIHZvaWQgV2ViRHJhZ0NsaWVudDo6ZGlkQ29uY2x1ZGVF
ZGl0RHJhZygpCiAgICAgbV9wYWdlLT5kaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oKTsK
IH0KIAotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0KLXZvaWQgV2ViRHJhZ0NsaWVu
dDo6ZGVjbGFyZUFuZFdyaXRlQXR0YWNobWVudChjb25zdCBTdHJpbmcmLCBFbGVtZW50JiwgY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgRnJhbWUqKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci19Ci0KLSNlbmRpZgotCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkRyYWdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkRyYWdDbGllbnQuaAppbmRleCAxN2JjNjlhYmViYmNmMjJmY2MyNTQ5OTYwODVmNjcw
MDhjNzQ1YTMwLi4zZTlhMDdlZjUzODNlMjBiZmM5ZGQ3ZWE1MWQ1NTQ3YTY1NjRiNWNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJh
Z0NsaWVudC5oCkBAIC00NCw5ICs0NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGJlZ2luRHJhZyhX
ZWJDb3JlOjpEcmFnSXRlbSwgV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgbW91c2VEb3duUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtb3VzZURyYWdn
ZWRQb3NpdGlvbiwgV2ViQ29yZTo6RGF0YVRyYW5zZmVyJiwgV2ViQ29yZTo6RHJhZ1NvdXJjZUFj
dGlvbikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBXZWJDb3JlOjpFbGVtZW50JiwgY29uc3QgV2ViQ29y
ZTo6VVJMJiwgY29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKLSNpZiBF
TkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAgIHZvaWQgZGVjbGFyZUFuZFdyaXRlQXR0YWNo
bWVudChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBXZWJDb3JlOjpFbGVtZW50JiwgY29u
c3QgV2ViQ29yZTo6VVJMJiwgY29uc3QgU3RyaW5nJiBwYXRoLCBXZWJDb3JlOjpGcmFtZSopIG92
ZXJyaWRlOwotI2VuZGlmCiAgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREcmFnKCkgb3ZlcnJpZGU7
CiBwcml2YXRlOgogICAgIFdlYlZpZXcqIG1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50Lm1tCmluZGV4IDU4
YTRjZjM4NWU2ZTA5MWNmNDk4ZDRlYjNlZDFiNjA5ZmZhZjMzMDkuLmY0Y2YzODBjODQwMjQ4Yjdl
NTdhYmM3N2FjZDUyYWRiN2I5MmZlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5tbQpAQCAtMTY5LDE1ICsxNjks
NiBAQCB2b2lkIFdlYkRyYWdDbGllbnQ6OmRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBFbGVtZQogICAgIFtbTlNQYXN0ZWJvYXJkIHBhc3RlYm9h
cmRXaXRoTmFtZTpwYXN0ZWJvYXJkTmFtZV0gX3dlYl9kZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2VG
b3JFbGVtZW50OmtpdCgmZWxlbWVudCkgVVJMOnVybCB0aXRsZTp0aXRsZSBhcmNoaXZlOltraXQo
JmVsZW1lbnQpIHdlYkFyY2hpdmVdIHNvdXJjZTpnZXRUb3BIVE1MVmlldyhmcmFtZSldOwogfQog
Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLXZvaWQgV2ViRHJhZ0NsaWVudDo6ZGVj
bGFyZUFuZFdyaXRlQXR0YWNobWVudChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBFbGVt
ZW50JiBlbGVtZW50LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwYXRoLCBXZWJDb3Jl
OjpGcmFtZSogZnJhbWUpCi17Ci0gICAgQVNTRVJUKHBhc3RlYm9hcmROYW1lKTsKLSAgICAKLSAg
ICBbW05TUGFzdGVib2FyZCBwYXN0ZWJvYXJkV2l0aE5hbWU6cGFzdGVib2FyZE5hbWVdIF93ZWJf
ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlRm9yRWxlbWVudDpraXQoJmVsZW1lbnQpIFVSTDp1cmwg
dGl0bGU6cGF0aCBhcmNoaXZlOm5pbCBzb3VyY2U6Z2V0VG9wSFRNTFZpZXcoZnJhbWUpXTsKLX0K
LSNlbmRpZgotCiAjZWxpZiAhRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiAKIGJvb2wgV2ViRHJh
Z0NsaWVudDo6dXNlTGVnYWN5RHJhZ0NsaWVudCgpCkBAIC0yMTQsMTIgKzIwNSw2IEBAIHZvaWQg
V2ViRHJhZ0NsaWVudDo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYsIEVs
ZW1lbnQmLCBjb25zdCBVUkwmCiB7CiB9CiAKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQotdm9pZCBXZWJEcmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGNvbnN0IFN0
cmluZyYsIEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpGcmFt
ZSopCi17Ci19Ci0jZW5kaWYKLQogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0yNTgs
MTIgKzI0Myw2IEBAIHZvaWQgV2ViRHJhZ0NsaWVudDo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdl
KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIEVsZW1lCiAgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS53cml0ZUltYWdlVG9QYXN0ZWJvYXJkKCpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JEcmFnQW5k
RHJvcCgpLCBlbGVtZW50LCB1cmwsIGxhYmVsKTsKIH0KIAotI2lmIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCi12b2lkIFdlYkRyYWdDbGllbnQ6OmRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQo
Y29uc3QgU3RyaW5nJiwgRWxlbWVudCYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1l
KikKLXsKLX0KLSNlbmRpZgotCiB2b2lkIFdlYkRyYWdDbGllbnQ6OmRpZENvbmNsdWRlRWRpdERy
YWcoKQogewogICAgIFttX3dlYlZpZXcgX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbl07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRl
eCBjYTI5MjcxZGYzZjYwNjFkMzI0YWVjZTY0NTI1NmIwNjQzMWQyNzA5Li4yZmVmNjQ3MzNkYzA2
M2ZhMTE5ZWFmZmYwODFiZTU3MDFjN2Q4MWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTQzNjUsMTAgKzQzNjUsNiBAQCAtIChOU0Fy
cmF5ICopbmFtZXNPZlByb21pc2VkRmlsZXNEcm9wcGVkQXREZXN0aW5hdGlvbjooTlNVUkwgKilk
cm9wRGVzdGluYXRpb24KICAgICAgICAgY29uc3QgVVJMJiBpbWFnZVVSTCA9IHBhZ2UtPmRyYWdD
b250cm9sbGVyKCkuZHJhZ2dpbmdJbWFnZVVSTCgpOwogICAgICAgICBpZiAoIWltYWdlVVJMLmlz
RW1wdHkoKSkKICAgICAgICAgICAgIGRyYWdnaW5nRWxlbWVudFVSTCA9IGltYWdlVVJMOwotI2lm
IEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGRy
YWdnaW5nRWxlbWVudFVSTCA9IHBhZ2UtPmRyYWdDb250cm9sbGVyKCkuZHJhZ2dpbmdBdHRhY2ht
ZW50VVJMKCk7Ci0jZW5kaWYKIAogICAgICAgICB3cmFwcGVyID0gW1tzZWxmIF9kYXRhU291cmNl
XSBfZmlsZVdyYXBwZXJGb3JVUkw6ZHJhZ2dpbmdFbGVtZW50VVJMXTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330259</attachid>
            <date>2017-12-29 14:43:01 -0800</date>
            <delta_ts>2017-12-30 11:30:44 -0800</delta_ts>
            <desc>Fix Win/GTK builds</desc>
            <filename>bug-181188-20171229144300.patch</filename>
            <type>text/plain</type>
            <size>28755</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2Mjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ5YTc3MjE4M2NmYTZm
YmY5MDQ2NDljMzcyMGRjM2Q4OWYzYTY0Yy4uYjM4NmEyODUyOTNjZDA3MTNkNWJmZjBmZTM0ZjAy
YTBlNzQzZGRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTEyLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtBdHRhY2htZW50
IFN1cHBvcnRdIFJlbW92ZSBjdXJyZW50IG1hY09TIHN1cHBvcnQgZm9yIGRyYWdnaW5nIGZpbGUt
YmFja2VkIGF0dGFjaG1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODExODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTdXBwb3J0IGZvciBkcmFnZ2luZyBhdHRhY2htZW50cyBvdXQgYXMgZmlsZXMg
b24gdGhlIE5TUGFzdGVib2FyZCB3YXMgaW50cm9kdWNlZCBpbiByMTgxNzYwLiBIb3dldmVyLCB0
aGlzIGlzCisgICAgICAgICgxKSBhIG1hY09TLXNwZWNpZmljIGltcGxlbWVudGF0aW9uLCBhbmQg
KDIpIGRvZXMgbm90IHN1cHBvcnQgYXR0YWNobWVudHMgd2hvc2UgZmlsZXMgYXJlIGJhY2tlZCBi
eSBpbmxpbmUgZGF0YQorICAgICAgICByYXRoZXIgdGhhbiBhIGZpbGVwYXRoLiBBcyBwYXJ0IG9m
IGFkZGluZyBmdXJ0aGVyIFdlYktpdCBhdHRhY2htZW50IGVsZW1lbnQgc3VwcG9ydCwgc3Vic2Vx
dWVudCBwYXRjaGVzIHdpbGwKKyAgICAgICAgcmVpbXBsZW1lbnQgc3VwcG9ydCBmb3IgZHJhZ2dp
bmcgYXR0YWNobWVudCBlbGVtZW50cyBpbiBhIGNyb3NzLUNvY29hLXBsYXRmb3JtIHdheSB0aGF0
IGFsc28gYWxsb3dzIGZvciBlaXRoZXIKKyAgICAgICAgZGF0YS0gb3IgZmlsZS1iYWNrZWQgYmxv
YnMgdG8gYmUgd3JpdHRlbiB0byB0aGUgcGFzdGVib2FyZC4KKworICAgICAgICBObyBuZXcgZnVu
Y3Rpb25hbGl0eTsgbm8gbmV3IHRlc3RzLiBBbGwgZXhpc3RpbmcgbGF5b3V0IGFuZCBBUEkgdGVz
dHMgc3RpbGwgcGFzcy4KKworICAgICAgICAqIHBhZ2UvRHJhZ0NsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RHJhZ0NsaWVudDo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRyYWdDbGllbnQ6OmRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyk6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdnaW5nSW1hZ2VVUkwg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdnaW5nQXR0YWNo
bWVudFVSTCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9ndGsvRHJhZ0NvbnRyb2xs
ZXJHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRlY2xhcmVBbmRX
cml0ZUF0dGFjaG1lbnQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvbWFjL0RyYWdDb250cm9s
bGVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRlY2xhcmVBbmRX
cml0ZUF0dGFjaG1lbnQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2Uvd2luL0RyYWdDb250cm9s
bGVyV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpkZWNsYXJlQW5k
V3JpdGVBdHRhY2htZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJl
c3VsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUF0dGFj
aG1lbnRVUkwgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVz
dWx0Lmg6CisKIDIwMTctMTItMjIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgW0F0dGFjaG1lbnQgU3VwcG9ydF0gRG9uJ3QgQmxvYi1jb252ZXJ0IGlt
YWdlcyBhbmQgYXR0YWNobWVudHMgd2l0aCBodHRwczosIGh0dHA6IG9yIGRhdGE6IHVybHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggODRlYWYxNzc3Y2Y1NmE0MzYyMThjMGM0ZjllMWEyNzkwMmZiZDJmNi4uODJiYjdm
ZmEyZmQ1MTlhN2MxN2RkNDY3MzYyZTU1M2ViZGVkM2UwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
OSBAQAorMjAxNy0xMi0yOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBbQXR0YWNobWVudCBTdXBwb3J0XSBSZW1vdmUgY3VycmVudCBtYWNPUyBzdXBw
b3J0IGZvciBkcmFnZ2luZyBmaWxlLWJhY2tlZCBhdHRhY2htZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxMTg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZv
ciBtb3JlIGRldGFpbC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlD
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRQcm9taXNlZERhdGFG
b3JBdHRhY2htZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRQcm9taXNlZERhdGFGb3JBdHRhY2htZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVudCk6
IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVu
dCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFn
Q2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRHJh
Z0NsaWVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0NsaWVudDo6ZGVjbGFyZUFu
ZFdyaXRlQXR0YWNobWVudCk6IERlbGV0ZWQuCisKIDIwMTctMTItMjIgIEplZmYgTWlsbGVyICA8
amVmZm1AYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IFdlYnNpdGVQb2xpY2llcyBBUEkgb2Jq
ZWN0IHRvIGJlIGJyaWRnZWQgdG8gX1dLV2Vic2l0ZVBvbGljaWVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKaW5kZXggMDYzYTgwYTA3ZGM3NDA3NzkyZmQzOTc4ZTVlOGJlYWFjNjQ0NzI1Ni4u
Y2M2OTk2ZTY1NDk4ZjhjM2RkNDIxZGYwZWVlMTA0NTg0MGIyNDU2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEyLTI5ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRd
IFJlbW92ZSBjdXJyZW50IG1hY09TIHN1cHBvcnQgZm9yIGRyYWdnaW5nIGZpbGUtYmFja2VkIGF0
dGFjaG1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODExODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTZWUgV2ViQ29yZS9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlsLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkRyYWdDbGllbnQubW06CisgICAgICAgIChXZWJEcmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVB
dHRhY2htZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJIVE1MVmlldyBuYW1lc09mUHJvbWlzZWRGaWxlc0Ryb3BwZWRBdERlc3Rp
bmF0aW9uOl0pOgorCiAyMDE3LTEyLTIyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGNvbnRpbnVlIHRvIGZpeCBidWlsZCBmYWls
dXJlcyBkdWUgdG8gQXBwS2l0IEFQSSBkZXByZWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDbGllbnQu
aAppbmRleCA5NTM4NzE3NDcwYjVlODg2MWY4NjdiY2Q0M2E3ZTBiZTc0ZTA0NzI1Li43Y2Q2MjUz
NGU5OTk1NTI3MDA1NmM5MmE0MDk0Njc0ZmY3MGI1YzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDbGll
bnQuaApAQCAtNTgsOSArNTgsNiBAQCBwdWJsaWM6CiAgICAgLy8gTWFjLXNwZWNpZmljIGhlbHBl
ciBmdW5jdGlvbiB0byBhbGxvdyBhY2Nlc3MgdG8gd2ViIGFyY2hpdmVzIGFuZCBOU1Bhc3RlYm9h
cmQgZXh0cmFzIGluIFdlYktpdC4KICAgICAvLyBUaGlzIGlzIG5vdCBhYnN0cmFjdCBhcyB0aGF0
IHdvdWxkIHJlcXVpcmUgYW5vdGhlciAjaWYgUExBVEZPUk0oQ09DT0EpIGZvciB0aGUgU1ZHSW1h
Z2UgY2xpZW50IGVtcHR5IGltcGxlbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgZGVjbGFyZUFu
ZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYsIEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25z
dCBTdHJpbmcmLCBGcmFtZSopIHsgfQotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0g
ICAgdmlydHVhbCB2b2lkIGRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiwg
RWxlbWVudCYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1lKikgeyB9Ci0jZW5kaWYK
ICNlbmRpZgogCiAgICAgdmlydHVhbCB+RHJhZ0NsaWVudCgpID0gZGVmYXVsdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKaW5kZXggMTZiMTdkYjdmZWM0NGI3YWU4YjU5MDUw
MzNkNzlkMTUxYmEyYzcyNS4uOWZhZjJiOGU1ZDcxOTFkMTkxZmVmYzU2NmVjYjBkNzU1MGNlMTE3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTg3MCwxMCArODcw
LDYgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERy
YWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24KIAogICAgIFVSTCBsaW5rVVJMID0gaGl0VGVz
dFJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKTsKICAgICBVUkwgaW1hZ2VVUkwgPSBoaXRUZXN0UmVz
dWx0LmFic29sdXRlSW1hZ2VVUkwoKTsKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQot
ICAgIFVSTCBhdHRhY2htZW50VVJMID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUF0dGFjaG1lbnRV
UkwoKTsKLSAgICBtX2RyYWdnaW5nQXR0YWNobWVudFVSTCA9IFVSTCgpOwotI2VuZGlmCiAKICAg
ICBJbnRQb2ludCBtb3VzZURyYWdnZWRQb2ludCA9IHNyYy52aWV3KCktPndpbmRvd1RvQ29udGVu
dHMoZHJhZ0V2ZW50LnBvc2l0aW9uKCkpOwogCkBAIC0xMDc5LDExICsxMDc1LDcgQEAgYm9vbCBE
cmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3Rh
dGUsIERyYWdPcGVyYXRpb24KICAgICAgICAgYXV0byBwcmV2aW91c1NlbGVjdGlvbiA9IHNyYy5z
ZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICAgICAgaWYgKGhhc0RhdGEgPT0gSGFzTm9uRGVm
YXVsdFBhc3RlYm9hcmREYXRhOjpObykgewogICAgICAgICAgICAgc2VsZWN0RWxlbWVudChlbGVt
ZW50KTsKLSAgICAgICAgICAgIGlmICghYXR0YWNobWVudFVSTC5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgICAgICAgICAvLyBVc2UgdGhlIGF0dGFjaG1lbnQgVVJMIHNwZWNpZmllZCBieSB0aGUgZmls
ZSBhdHRyaWJ1dGUgdG8gcG9wdWxhdGUgdGhlIHBhc3RlYm9hcmQuCi0gICAgICAgICAgICAgICAg
bV9kcmFnZ2luZ0F0dGFjaG1lbnRVUkwgPSBhdHRhY2htZW50VVJMOwotICAgICAgICAgICAgICAg
IGRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQoZGF0YVRyYW5zZmVyLCBlbGVtZW50LCBhdHRhY2ht
ZW50VVJMKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoc3JjLmVkaXRvcigpLmNsaWVudCgpKSB7
CisgICAgICAgICAgICBpZiAoc3JjLmVkaXRvcigpLmNsaWVudCgpKSB7CiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBpZiBubyBmaWxlIFVSTCBpcyBz
cGVjaWZpZWQsIGNhbGwgb3V0IHRvIHRoZSBpbmplY3RlZCBidW5kbGUgdG8gcG9wdWxhdGUgdGhl
IHBhc3RlYm9hcmQgd2l0aCBkYXRhLgogICAgICAgICAgICAgICAgIGF1dG8mIGVkaXRvciA9IHNy
Yy5lZGl0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwNWI4NDg3
ZDFkNjRmNTUyMTc0N2EwNDViNjM0YzUwYWYwMWU3ZGQwLi4zMmNlMzM4NTE4OTRhOTdhYzhiZTRk
ZjA5YWIwZDE2MTUwMjA1NjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBA
IC03NCw5ICs3NCw2IEBAIHN0cnVjdCBEcmFnU3RhdGU7CiAgICAgICAgIGJvb2wgZGlkSW5pdGlh
dGVEcmFnKCkgY29uc3QgeyByZXR1cm4gbV9kaWRJbml0aWF0ZURyYWc7IH0KICAgICAgICAgRHJh
Z09wZXJhdGlvbiBzb3VyY2VEcmFnT3BlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VE
cmFnT3BlcmF0aW9uOyB9CiAgICAgICAgIGNvbnN0IFVSTCYgZHJhZ2dpbmdJbWFnZVVSTCgpIGNv
bnN0IHsgcmV0dXJuIG1fZHJhZ2dpbmdJbWFnZVVSTDsgfQotI2lmIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCi0gICAgICAgIGNvbnN0IFVSTCYgZHJhZ2dpbmdBdHRhY2htZW50VVJMKCkgY29u
c3QgeyByZXR1cm4gbV9kcmFnZ2luZ0F0dGFjaG1lbnRVUkw7IH0KLSNlbmRpZgogICAgICAgICB2
b2lkIHNldERyYWdPZmZzZXQoY29uc3QgSW50UG9pbnQmIG9mZnNldCkgeyBtX2RyYWdPZmZzZXQg
PSBvZmZzZXQ7IH0KICAgICAgICAgY29uc3QgSW50UG9pbnQmIGRyYWdPZmZzZXQoKSBjb25zdCB7
IHJldHVybiBtX2RyYWdPZmZzZXQ7IH0KICAgICAgICAgRHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291
cmNlQWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kcmFnU291cmNlQWN0aW9uOyB9CkBAIC0xMzIs
OSArMTI5LDYgQEAgc3RydWN0IERyYWdTdGF0ZTsKIAogICAgICAgICB2b2lkIGNsZWFudXBBZnRl
clN5c3RlbURyYWcoKTsKICAgICAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRGF0
YVRyYW5zZmVyJiwgRWxlbWVudCYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbGFiZWwpOwot
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0gICAgICAgIHZvaWQgZGVjbGFyZUFuZFdy
aXRlQXR0YWNobWVudChEYXRhVHJhbnNmZXImLCBFbGVtZW50JiwgY29uc3QgVVJMJik7Ci0jZW5k
aWYKICAgICAgICAgUGFnZSYgbV9wYWdlOwogICAgICAgICBEcmFnQ2xpZW50JiBtX2NsaWVudDsK
IApAQCAtMTUxLDkgKzE0NSw2IEBAIHN0cnVjdCBEcmFnU3RhdGU7CiAgICAgICAgIEludFBvaW50
IG1fZHJhZ09mZnNldDsKICAgICAgICAgVVJMIG1fZHJhZ2dpbmdJbWFnZVVSTDsKICAgICAgICAg
Ym9vbCBtX2lzUGVyZm9ybWluZ0Ryb3AgeyBmYWxzZSB9OwotI2lmIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCi0gICAgICAgIFVSTCBtX2RyYWdnaW5nQXR0YWNobWVudFVSTDsKLSNlbmRpZgog
ICAgIH07CiAKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzRHJhZ2dhYmxlTGluayhjb25zdCBF
bGVtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJv
bGxlckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5j
cHAKaW5kZXggOWIyNTZjYmI1ZDhlOTc2ZGJmMGNjMWQxOWNhMmQ1M2ExNzkyMjBlNC4uN2QwNTJj
ZmUxOGFlYjUzOGJlNjYzOWFmMDMwZWM3ZGRlZTBlMmUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvZ3RrL0RyYWdDb250cm9sbGVyR3RrLmNwcApAQCAtNzYsMTAgKzc2LDQgQEAgdm9pZCBE
cmFnQ29udHJvbGxlcjo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKERhdGFUcmFuc2ZlciYgZGF0
YVRyYW5zZmVyLCBFbGVtZW4KICAgICBmcmFtZS0+ZWRpdG9yKCkud3JpdGVJbWFnZVRvUGFzdGVi
b2FyZChkYXRhVHJhbnNmZXIucGFzdGVib2FyZCgpLCBlbGVtZW50LCB1cmwsIGxhYmVsKTsKIH0K
IAotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi12b2lkIERyYWdDb250cm9sbGVyOjpk
ZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KERhdGFUcmFuc2ZlciYsIEVsZW1lbnQmLCBjb25zdCBV
UkwmKQotewotfQotI2VuZGlmCi0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL0RyYWdDb250cm9sbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRHJhZ0Nv
bnRyb2xsZXJNYWMubW0KaW5kZXggYWRkOGI3MDY2ODAwNGM3OWVmMDhjNjQ3NjdmZmIwZDgzNzBl
OTBjMS4uNWU4NzJjNDk0MWFjYTQwYzZjZDk0MWJhZTAyNzA5NGYxOGEzY2ZlYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0KQEAgLTEzOCwxNCArMTM4
LDYgQEAgdm9pZCBEcmFnQ29udHJvbGxlcjo6dXBkYXRlU3VwcG9ydGVkVHlwZUlkZW50aWZpZXJz
Rm9yRHJhZ0hhbmRsaW5nTWV0aG9kKERyYWdIYW4KIAogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVRU
QUNITUVOVF9FTEVNRU5UKQotdm9pZCBEcmFnQ29udHJvbGxlcjo6ZGVjbGFyZUFuZFdyaXRlQXR0
YWNobWVudChEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRWxlbWVudCYgZWxlbWVudCwgY29u
c3QgVVJMJiB1cmwpCi17Ci0gICAgY29uc3QgSFRNTEF0dGFjaG1lbnRFbGVtZW50JiBhdHRhY2ht
ZW50ID0gZG93bmNhc3Q8SFRNTEF0dGFjaG1lbnRFbGVtZW50PihlbGVtZW50KTsKLSAgICBtX2Ns
aWVudC5kZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCku
bmFtZSgpLCBlbGVtZW50LCB1cmwsIGF0dGFjaG1lbnQuZmlsZSgpLT5wYXRoKCksIGVsZW1lbnQu
ZG9jdW1lbnQoKS5mcmFtZSgpKTsKLX0KLSNlbmRpZgotICAgIAogdm9pZCBEcmFnQ29udHJvbGxl
cjo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKERhdGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKIHsK
ICAgICBtX2NsaWVudC5kZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoZGF0YVRyYW5zZmVyLnBhc3Rl
Ym9hcmQoKS5uYW1lKCksIGVsZW1lbnQsIHVybCwgbGFiZWwsIGVsZW1lbnQuZG9jdW1lbnQoKS5m
cmFtZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvd2luL0RyYWdDb250cm9s
bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvd2luL0RyYWdDb250cm9sbGVyV2luLmNw
cAppbmRleCA2NDRlY2M2ZGQ3MGExZTk2ZjM2MGJkNGJkMDkwM2M2MjNmYzQyNDA1Li40MmY2ZDZi
NjkzMThhYjg2Y2U1ODA1NDEyZWFlYWMwOGZlNjc5ZTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3dpbi9EcmFnQ29udHJvbGxlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS93aW4vRHJhZ0NvbnRyb2xsZXJXaW4uY3BwCkBAIC02NywxMiArNjcsNiBAQCB2b2lkIERy
YWdDb250cm9sbGVyOjpjbGVhbnVwQWZ0ZXJTeXN0ZW1EcmFnKCkKIHsKIH0KIAotI2lmIEVOQUJM
RShBVFRBQ0hNRU5UX0VMRU1FTlQpCi12b2lkIERyYWdDb250cm9sbGVyOjpkZWNsYXJlQW5kV3Jp
dGVBdHRhY2htZW50KERhdGFUcmFuc2ZlciYsIEVsZW1lbnQmLCBjb25zdCBVUkwmKQotewotfQot
I2VuZGlmCi0KIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShE
YXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgbGFiZWwpCiB7CiAgICAgUGFzdGVib2FyZCYgcGFzdGVib2FyZCA9
IGRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5jcHAKaW5kZXggNDI0NWEzY2UwMjZjMDBmMWM1M2FhNjFkOTM2MDQzOTk3Nzkw
MjZmZi4uMDBlMWIxM2I4MTA2MzFkYTU2N2FjMjZkMjkwNGE3MmVlOGI0NWRiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtMzQxLDMwICszNDEsNiBA
QCBJbnRSZWN0IEhpdFRlc3RSZXN1bHQ6OmltYWdlUmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
aW5uZXJOb25TaGFyZWROb2RlLT5yZW5kZXJCb3goKS0+YWJzb2x1dGVDb250ZW50UXVhZCgpLmVu
Y2xvc2luZ0JvdW5kaW5nQm94KCk7CiB9CiAKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQotVVJMIEhpdFRlc3RSZXN1bHQ6OmFic29sdXRlQXR0YWNobWVudFVSTCgpIGNvbnN0Ci17Ci0g
ICAgaWYgKCFtX2lubmVyTm9uU2hhcmVkTm9kZSkKLSAgICAgICAgcmV0dXJuIFVSTCgpOwotICAg
IAotICAgIGlmICghKG1faW5uZXJOb25TaGFyZWROb2RlLT5yZW5kZXJlcigpICYmIG1faW5uZXJO
b25TaGFyZWROb2RlLT5yZW5kZXJlcigpLT5pc0F0dGFjaG1lbnQoKSkpCi0gICAgICAgIHJldHVy
biBVUkwoKTsKLSAgICAKLSAgICBpZiAoIWlzPEhUTUxBdHRhY2htZW50RWxlbWVudD4oKm1faW5u
ZXJOb25TaGFyZWROb2RlKSkKLSAgICAgICAgcmV0dXJuIFVSTCgpOwotICAgIEZpbGUqIGF0dGFj
aG1lbnRGaWxlID0gZG93bmNhc3Q8SFRNTEF0dGFjaG1lbnRFbGVtZW50PigqbV9pbm5lck5vblNo
YXJlZE5vZGUpLmZpbGUoKTsKLSAgICBpZiAoIWF0dGFjaG1lbnRGaWxlKQotICAgICAgICByZXR1
cm4gVVJMKCk7Ci0gICAgCi0gICAgYXV0byBmaWxlcGF0aCA9IGF0dGFjaG1lbnRGaWxlLT5wYXRo
KCk7Ci0gICAgaWYgKCFmaWxlcGF0aC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBVUkw6OmZp
bGVVUkxXaXRoRmlsZVN5c3RlbVBhdGgoZmlsZXBhdGgpOwotCi0gICAgQVNTRVJUKGF0dGFjaG1l
bnRGaWxlLT51cmwoKS5wcm90b2NvbElzQmxvYigpKTsKLSAgICByZXR1cm4gYXR0YWNobWVudEZp
bGUtPnVybCgpOwotfQotI2VuZGlmCi0KIFVSTCBIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUltYWdl
VVJMKCkgY29uc3QKIHsKICAgICBpZiAoIW1faW5uZXJOb25TaGFyZWROb2RlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKaW5kZXggMDRiMzg4MmYwZTJlMDhiMjI4ZDk3
NDNjZGYyMTU5M2E3NDBlMDVkNC4uYTZjN2I2MTVkMGI2MGNlN2ViNjYyZjIzYzRjMTk2NWUzNTUy
YTc5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBAIC0xMDUs
OSArMTA1LDYgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFVSTCBhYnNvbHV0ZVBERlVS
TCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIFVSTCBhYnNvbHV0ZU1lZGlhVVJMKCkgY29u
c3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIGFic29sdXRlTGlua1VSTCgpIGNvbnN0OwotI2lm
IEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0gICAgV0VCQ09SRV9FWFBPUlQgVVJMIGFic29s
dXRlQXR0YWNobWVudFVSTCgpIGNvbnN0OwotI2VuZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHRleHRDb250ZW50KCkgY29uc3Q7CiAgICAgYm9vbCBpc092ZXJMaW5rKCkgY29uc3Q7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRl
eCAyNjFlODUxN2M5N2ExMmFhOTVjNGI4MTQ4ZThlMDA1NTJlNmM3ODlkLi5mMDUzYTgxN2NiNGUx
NGExMjkyNTkxODBjYWNjZjk0NjE2MGRmN2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtMTE1LDE1ICsxMTUsNiBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJvbWlzZWREYXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiwg
Y29uc3QgU2hhcmVkTWVtb3J5OjpIYQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLSNpZiBF
TkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotCi12b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJvbWlz
ZWREYXRhRm9yQXR0YWNobWVudChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKQotewot
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLSNlbmRpZgotCiB2b2lkIFdlYlBhZ2VQcm94eTo6
c2V0RHJhZ0NhcmV0UmVjdChjb25zdCBJbnRSZWN0JiBkcmFnQ2FyZXRSZWN0KQogewogICAgIGlm
IChtX2N1cnJlbnREcmFnQ2FyZXRSZWN0ID09IGRyYWdDYXJldFJlY3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAppbmRleCA3ODdiYTUyNjlhM2QzMTEzMjhi
ZmIyNWZiOTllNzgyYWQ5MWE5YWE5Li5hNTQ3MmJiMWNjNTJkZmYxMTBhZGRmZWI4NDdkOTczZjZl
NjI4YThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgK
QEAgLTQxNSw5ICs0MTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkcmFnSW1hZ2VGb3JWaWV3KE5T
VmlldyAqLCBOU0ltYWdlICosIENHUG9pbnQgY2xpZW50UG9pbnQsIGJvb2wgbGlua0RyYWcpOwog
ICAgIHZvaWQgc2V0RmlsZUFuZFVSTFR5cGVzKE5TU3RyaW5nICpmaWxlbmFtZSwgTlNTdHJpbmcg
KmV4dGVuc2lvbiwgTlNTdHJpbmcgKnRpdGxlLCBOU1N0cmluZyAqdXJsLCBOU1N0cmluZyAqdmlz
aWJsZVVSTCwgTlNQYXN0ZWJvYXJkICopOwogICAgIHZvaWQgc2V0UHJvbWlzZWREYXRhRm9ySW1h
Z2UoV2ViQ29yZTo6SW1hZ2UqLCBOU1N0cmluZyAqZmlsZW5hbWUsIE5TU3RyaW5nICpleHRlbnNp
b24sIE5TU3RyaW5nICp0aXRsZSwgTlNTdHJpbmcgKnVybCwgTlNTdHJpbmcgKnZpc2libGVVUkws
IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciogYXJjaGl2ZUJ1ZmZlciwgTlNTdHJpbmcgKnBhc3RlYm9h
cmROYW1lKTsKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAgIHZvaWQgc2V0UHJv
bWlzZWREYXRhRm9yQXR0YWNobWVudChOU1N0cmluZyAqZmlsZW5hbWUsIE5TU3RyaW5nICpleHRl
bnNpb24sIE5TU3RyaW5nICp0aXRsZSwgTlNTdHJpbmcgKnVybCwgTlNTdHJpbmcgKnZpc2libGVV
UkwsIE5TU3RyaW5nICpwYXN0ZWJvYXJkTmFtZSk7Ci0jZW5kaWYKICAgICB2b2lkIHBhc3RlYm9h
cmRDaGFuZ2VkT3duZXIoTlNQYXN0ZWJvYXJkICopOwogICAgIHZvaWQgcHJvdmlkZURhdGFGb3JQ
YXN0ZWJvYXJkKE5TUGFzdGVib2FyZCAqLCBOU1N0cmluZyAqdHlwZSk7CiAgICAgTlNBcnJheSAq
bmFtZXNPZlByb21pc2VkRmlsZXNEcm9wcGVkQXREZXN0aW5hdGlvbihOU1VSTCAqZHJvcERlc3Rp
bmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0K
aW5kZXggMjQyNjg2YmQxODY5ZjY1M2IzYTNiZWIzNDVhYmJhZTkyN2IwODI2NC4uNjhkNmQwYTkx
ZWY1MTk3MDg0ZTkxODQzMGFhNTg5MjhmZTExZWU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTM4MzUsMjAgKzM4MzUsNiBAQCB2b2lkIFdl
YlZpZXdJbXBsOjpzZXRQcm9taXNlZERhdGFGb3JJbWFnZShXZWJDb3JlOjpJbWFnZSogaW1hZ2Us
IE5TU3RyaW5nICpmaWxlbgogICAgIG1fcHJvbWlzZWRJbWFnZSA9IGltYWdlOwogfQogCi0jaWYg
RU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLXZvaWQgV2ViVmlld0ltcGw6OnNldFByb21pc2Vk
RGF0YUZvckF0dGFjaG1lbnQoTlNTdHJpbmcgKmZpbGVuYW1lLCBOU1N0cmluZyAqZXh0ZW5zaW9u
LCBOU1N0cmluZyAqdGl0bGUsIE5TU3RyaW5nICp1cmwsIE5TU3RyaW5nICp2aXNpYmxlVVJMLCBO
U1N0cmluZyAqcGFzdGVib2FyZE5hbWUpCi17Ci0gICAgTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJk
ID0gW05TUGFzdGVib2FyZCBwYXN0ZWJvYXJkV2l0aE5hbWU6cGFzdGVib2FyZE5hbWVdOwotICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheT4gdHlwZXMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJy
YXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czpXZWJDb3JlOjpsZWdhY3lGaWxlc1Byb21pc2VQYXN0
ZWJvYXJkVHlwZSgpLCBuaWxdKTsKLSAgICBbdHlwZXMgYWRkT2JqZWN0c0Zyb21BcnJheTpQYXN0
ZWJvYXJkVHlwZXM6OmZvclVSTCgpXTsKLSAgICBbcGFzdGVib2FyZCBkZWNsYXJlVHlwZXM6dHlw
ZXMuZ2V0KCkgb3duZXI6bV92aWV3LmdldEF1dG9yZWxlYXNlZCgpXTsKLSAgICBzZXRGaWxlQW5k
VVJMVHlwZXMoZmlsZW5hbWUsIGV4dGVuc2lvbiwgdGl0bGUsIHVybCwgdmlzaWJsZVVSTCwgcGFz
dGVib2FyZCk7Ci0gICAgW3Bhc3RlYm9hcmQgc2V0UHJvcGVydHlMaXN0OkBbdGl0bGVdIGZvclR5
cGU6V2ViQ29yZTo6bGVnYWN5RmlsZW5hbWVzUGFzdGVib2FyZFR5cGUoKV07Ci0KLSAgICBtX3By
b21pc2VkSW1hZ2UgPSBudWxscHRyOwotfQotI2VuZGlmCi0KIHZvaWQgV2ViVmlld0ltcGw6OnBh
c3RlYm9hcmRDaGFuZ2VkT3duZXIoTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkKQogewogICAgIG1f
cHJvbWlzZWRJbWFnZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
aW5kZXggMjYxYjBkYjg1MTYwODY5OTk3MGY0YjQ0YjllY2QzMWRiYjJhNTc0Ni4uMGM1MDlkYWI4
MTc1ZDhiOGI5ZGI5YjE5OGQwM2ZiNDc2MjhkMGFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaApAQCAtMTkxLDkgKzE5MSw2IEBAIHB1YmxpYzoKIAogI2lmIFVTRShBUFBLSVQp
CiAgICAgdmlydHVhbCB2b2lkIHNldFByb21pc2VkRGF0YUZvckltYWdlKGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgaW1hZ2VCdWZmZXIs
IGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB2aXNpYmxlVXJs
LCBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGFyY2hpdmVCdWZmZXIpID0gMDsKLSNp
ZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAgIHZpcnR1YWwgdm9pZCBzZXRQcm9taXNl
ZERhdGFGb3JBdHRhY2htZW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0
cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLCBjb25zdCBTdHJpbmcmIHRp
dGxlLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB2aXNpYmxlVXJsKSA9IDA7Ci0j
ZW5kaWYKICNlbmRpZgogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgY29udmVydFRv
RGV2aWNlU3BhY2UoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkNjUzZThkMjJiYTI2M2E0OGMxMGQ0YzdlY2Ni
YjA4OWQ1ZTc0ZWVmLi45ZTY0MDBiODVmODZkNGI5MzM0ZDIxNDVlMjkxYzMxMDE2OGQ3MDJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtODcwLDkgKzg3MCw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0RHJhZyhjb25zdCBXZWJDb3JlOjpEcmFnSXRlbSYsIGNv
bnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBkcmFnSW1hZ2VIYW5kbGUpOwogICAgIHZvaWQg
c2V0UHJvbWlzZWREYXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29u
c3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGltYWdlSGFuZGxlLCB1aW50NjRfdCBpbWFnZVNpemUs
IGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBTdHJpbmcmIHZpc2libGVVUkwsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBh
cmNoaXZlSGFuZGxlLCB1aW50NjRfdCBhcmNoaXZlU2l6ZSk7Ci0jaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKLSAgICB2b2lkIHNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQoY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3Ry
aW5nJiBleHRlbnNpb24sIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsLCBj
b25zdCBTdHJpbmcmIHZpc2libGVVUkwpOwotI2VuZGlmCiAjZW5kaWYKICNpZiBQTEFURk9STShH
VEspCiAgICAgdm9pZCBzdGFydERyYWcoV2ViU2VsZWN0aW9uRGF0YSYmLCB1aW50NjRfdCBkcmFn
T3BlcmF0aW9uLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgZHJhZ0ltYWdlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCA2MDQ4NWFlMDE2ODNjYmYzMWYwNWZlNGI0ODg5NzRmZTZjODgzNjc0Li5kY2VlZGUzOTRhZTg0
NzYyNTdkZGQ0MGFlN2I2M2I0NWQ0M2ExNDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMDksOSArMzA5LDYgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKICAgICBTdGFydERyYWcoc3RydWN0IFdlYkNvcmU6OkRyYWdJdGVtIGRyYWdJdGVt
LCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGRyYWdJbWFnZSkKICAgICBTZXRQcm9t
aXNlZERhdGFGb3JJbWFnZShTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFdlYktpdDo6U2hhcmVkTWVt
b3J5OjpIYW5kbGUgaW1hZ2VIYW5kbGUsIHVpbnQ2NF90IGltYWdlU2l6ZSwgU3RyaW5nIGZpbGVu
YW1lLCBTdHJpbmcgZXh0ZW5zaW9uLCBTdHJpbmcgdGl0bGUsIFN0cmluZyB1cmwsIFN0cmluZyB2
aXNpYmxlVVJMLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGFyY2hpdmVIYW5kbGUsIHVp
bnQ2NF90IGFyY2hpdmVTaXplKQotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0gICAg
U2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVudChTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFN0cmlu
ZyBmaWxlbmFtZSwgU3RyaW5nIGV4dGVuc2lvbiwgU3RyaW5nIHRpdGxlLCBTdHJpbmcgdXJsLCBT
dHJpbmcgdmlzaWJsZVVSTCkKLSNlbmRpZgogI2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKSAmJiBF
TkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFN0YXJ0RHJhZyhzdHJ1Y3QgV2ViS2l0OjpXZWJTZWxl
Y3Rpb25EYXRhIHNlbGVjdGlvbiwgdWludDY0X3QgZHJhZ09wZXJhdGlvbiwgV2ViS2l0OjpTaGFy
ZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IGIzMTM5NWE0ZTdkY2Q4NjNiYTRkYjZl
YTIzOTc3OTg0NzU5NzE3NWIuLjU1NjgzNTdiMjUyYTkxYjg4NTZiZDZiNThmYzkxZDM1M2Q5MGQy
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1h
Yy5oCkBAIC05Nyw5ICs5Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXREcmFnSW1hZ2UoY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBSZWY8U2hhcmVhYmxlQml0bWFw
PiYmIGRyYWdJbWFnZSwgV2ViQ29yZTo6RHJhZ1NvdXJjZUFjdGlvbikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzZXRQcm9taXNlZERhdGFGb3JJbWFnZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
LCBSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGltYWdlQnVmZmVyLCBjb25zdCBTdHJpbmcm
IGZpbGVuYW1lLCBjb25zdCBTdHJpbmcmIGV4dGVuc2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwK
ICAgICAgICAgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdmlzaWJsZVVybCwgUmVm
UHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBhcmNoaXZlQnVmZmVyKSBvdmVycmlkZTsKLSNp
ZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotICAgIHZvaWQgc2V0UHJvbWlzZWREYXRhRm9y
QXR0YWNobWVudChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIGZp
bGVuYW1lLCBjb25zdCBTdHJpbmcmIGV4dGVuc2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29u
c3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdmlzaWJsZVVybCkgb3ZlcnJpZGU7Ci0jZW5k
aWYKICAgICB2b2lkIHVwZGF0ZVNlY3VyZUlucHV0U3RhdGUoKSBvdmVycmlkZTsKICAgICB2b2lk
IHJlc2V0U2VjdXJlSW5wdXRTdGF0ZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgbm90aWZ5SW5wdXRD
b250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IGYxNmQ5MGQ4
ZGJkZDMzODQ0OTU1NTJkYzNiM2MzYjU3NDFlZWUwZjQuLjdmNzc3M2QxMGNmZDIxMDNkMGE0MGM0
NDMwZTQ0MjcwYWRhMGEyZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTM2NCwxMyArMzY0LDYgQEAgdm9pZCBQYWdlQ2xpZW50
SW1wbDo6c2V0UHJvbWlzZWREYXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgUmVmPFMKICAgICBtX2ltcGwtPnNldFByb21pc2VkRGF0YUZvckltYWdlKGltYWdlLmdldCgp
LCBmaWxlbmFtZSwgZXh0ZW5zaW9uLCB0aXRsZSwgdXJsLCB2aXNpYmxlVVJMLCBhcmNoaXZlQnVm
ZmVyLmdldCgpLCBwYXN0ZWJvYXJkTmFtZSk7CiB9CiAKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQotdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVu
dChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBj
b25zdCBTdHJpbmcmIGV4dGVuc2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFN0cmluZyYgdmlzaWJsZVVSTCkKLXsKLSAgICBtX2ltcGwtPnNldFByb21p
c2VkRGF0YUZvckF0dGFjaG1lbnQoZmlsZW5hbWUsIGV4dGVuc2lvbiwgdGl0bGUsIHVybCwgdmlz
aWJsZVVSTCwgcGFzdGVib2FyZE5hbWUpOwotfQotI2VuZGlmCi0KIHZvaWQgUGFnZUNsaWVudElt
cGw6OnVwZGF0ZVNlY3VyZUlucHV0U3RhdGUoKQogewogICAgIG1faW1wbC0+dXBkYXRlU2VjdXJl
SW5wdXRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dl
YlBhZ2VQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KaW5kZXggMzRjMzY1YTI3YWI0NjhiZmJkZmRlMWE0ODkyOGVkYWJjZjJhNzNiNS4u
MjBmOWI0MjhkNTEwNGU5NjY3Nzg3OWU5ZmVkZDFiNjE1YTg3MDc0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC0yOTAsMTQgKzI5MCw2
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcm9taXNlZERhdGFGb3JJbWFnZShjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTCiAgICAgbV9wYWdlQ2xpZW50LnNldFByb21pc2Vk
RGF0YUZvckltYWdlKHBhc3RlYm9hcmROYW1lLCBXVEZNb3ZlKGltYWdlQnVmZmVyKSwgZmlsZW5h
bWUsIGV4dGVuc2lvbiwgdGl0bGUsIHVybCwgdmlzaWJsZVVSTCwgV1RGTW92ZShhcmNoaXZlQnVm
ZmVyKSk7CiB9CiAKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQotdm9pZCBXZWJQYWdl
UHJveHk6OnNldFByb21pc2VkRGF0YUZvckF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBleHRlbnNpb24s
IGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHZp
c2libGVVUkwpCi17Ci0gICAgTUVTU0FHRV9DSEVDS19VUkwodXJsKTsKLSAgICBNRVNTQUdFX0NI
RUNLX1VSTCh2aXNpYmxlVVJMKTsKLSAgICBtX3BhZ2VDbGllbnQuc2V0UHJvbWlzZWREYXRhRm9y
QXR0YWNobWVudChwYXN0ZWJvYXJkTmFtZSwgZmlsZW5hbWUsIGV4dGVuc2lvbiwgdGl0bGUsIHVy
bCwgdmlzaWJsZVVSTCk7Ci19Ci0jZW5kaWYKICNlbmRpZgogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
cGVyZm9ybURpY3Rpb25hcnlMb29rdXBBdExvY2F0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIHBvaW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRyYWdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKaW5kZXggZDNmZjUzNGVmMGI1OTliYTE1NTdkZWE4MmVk
NGMzOTYwYmM4NTliMC4uOWY3ZDdmYzUwYjZlYzhhZWU1NmJiMjU5YjczMzQwYzQwZDkzNjcyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRy
YWdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRHJhZ0NsaWVudC5oCkBAIC01MSw5ICs1MSw2IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICB2b2lkIGRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lLCBXZWJDb3JlOjpFbGVtZW50JiwgY29uc3QgV2ViQ29yZTo6VVJMJiwg
Y29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoQVRU
QUNITUVOVF9FTEVNRU5UKQotICAgIHZvaWQgZGVjbGFyZUFuZFdyaXRlQXR0YWNobWVudChjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBXZWJDb3JlOjpFbGVtZW50JiwgY29uc3QgV2ViQ29y
ZTo6VVJMJiwgY29uc3QgU3RyaW5nJiBwYXRoLCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwot
I2VuZGlmCiAjZW5kaWYKIAogICAgIHZvaWQgZHJhZ0NvbnRyb2xsZXJEZXN0cm95ZWQoKSBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9tYWMvV2ViRHJhZ0NsaWVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9tYWMvV2ViRHJhZ0NsaWVudE1hYy5tbQppbmRleCA3ZjI5NjYwZjY2YTgwNDQx
OWY5YzZkNzg4OWZlMWM3ZDc5YTJiMWJjLi5hYzJjYTRjNmNkZDFkYzhhYTIyNTUzYTNmNmRmNTcz
ZDQ3MDExZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCkBAIC0xMTUsMTkgKzEx
NSw2IEBAIHN0YXRpYyBXZWJDb3JlOjpDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoRWxlbWVudCYg
ZWxlbWVudCkKICAgICByZXR1cm4gaW1hZ2U7CiB9CiAKLSNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQotdm9pZCBXZWJEcmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFVSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHBhdGgsIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSkKLXsKLSNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKLSAgICBBU1NFUlQocGFzdGVib2FyZE5hbWUg
PT0gU3RyaW5nKE5TRHJhZ1Bib2FyZCkpOwotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAot
ICAgIAotICAgIE5TVVJMKiBuc1VSTCA9IChOU1VSTCAqKXVybDsKLSAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0UHJvbWlzZWREYXRhRm9yQXR0YWNobWVudChwYXN0
ZWJvYXJkTmFtZSwgU3RyaW5nKG5zVVJMLmxhc3RQYXRoQ29tcG9uZW50KSwgU3RyaW5nKG5zVVJM
LnBhdGhFeHRlbnNpb24pLCBwYXRoLCBTdHJpbmcobnNVUkwuYWJzb2x1dGVTdHJpbmcpLCB1c2Vy
VmlzaWJsZVN0cmluZyhuc1VSTCkpKTsKLX0KLSNlbmRpZgotCiB2b2lkIFdlYkRyYWdDbGllbnQ6
OmRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgRnJh
bWUqKQogewogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKQEAgLTIzMiwxNSArMjE5LDYg
QEAgdm9pZCBXZWJEcmFnQ2xpZW50OjpkaWRDb25jbHVkZUVkaXREcmFnKCkKICAgICBtX3BhZ2Ut
PmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbigpOwogfQogCi0jaWYgRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkKLQotdm9pZCBXZWJEcmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVBdHRh
Y2htZW50KGNvbnN0IFN0cmluZyYsIEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
LCBGcmFtZSopCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotI2VuZGlmCi0KICNlbmRp
ZiAvLyBQTEFURk9STShJT1MpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmlu
ZGV4IDE3YmM2OWFiZWJiY2YyMmZjYzI1NDk5NjA4NWY2NzAwOGM3NDVhMzAuLjNlOWEwN2VmNTM4
M2UyMGJmYzlkZDdlYTUxZDU1NDdhNjU2NGI1Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKQEAgLTQ0LDkgKzQ0
LDYgQEAgcHVibGljOgogICAgIHZvaWQgYmVnaW5EcmFnKFdlYkNvcmU6OkRyYWdJdGVtLCBXZWJD
b3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtb3VzZURvd25Qb3NpdGlvbiwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1vdXNlRHJhZ2dlZFBvc2l0aW9uLCBXZWJDb3JlOjpE
YXRhVHJhbnNmZXImLCBXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uKSBvdmVycmlkZTsKIAogICAg
IHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUsIFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBXZWJDb3JlOjpVUkwmLCBjb25zdCBTdHJpbmcm
LCBXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCi0gICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZE5hbWUsIFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBXZWJDb3JlOjpVUkwmLCBjb25z
dCBTdHJpbmcmIHBhdGgsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7Ci0jZW5kaWYKICAgICB2
b2lkIGRpZENvbmNsdWRlRWRpdERyYWcoKSBvdmVycmlkZTsKIHByaXZhdGU6CiAgICAgV2ViVmll
dyogbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkRyYWdDbGllbnQubW0KaW5kZXggNThhNGNmMzg1ZTZlMDkxY2Y0OThkNGVi
M2VkMWI2MDlmZmFmMzMwOS4uZjRjZjM4MGM4NDAyNDhiN2U1N2FiYzc3YWNkNTJhZGI3YjkyZmU3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RHJhZ0NsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50Lm1tCkBAIC0xNjksMTUgKzE2OSw2IEBAIHZvaWQgV2ViRHJhZ0NsaWVu
dDo6ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUs
IEVsZW1lCiAgICAgW1tOU1Bhc3RlYm9hcmQgcGFzdGVib2FyZFdpdGhOYW1lOnBhc3RlYm9hcmRO
YW1lXSBfd2ViX2RlY2xhcmVBbmRXcml0ZURyYWdJbWFnZUZvckVsZW1lbnQ6a2l0KCZlbGVtZW50
KSBVUkw6dXJsIHRpdGxlOnRpdGxlIGFyY2hpdmU6W2tpdCgmZWxlbWVudCkgd2ViQXJjaGl2ZV0g
c291cmNlOmdldFRvcEhUTUxWaWV3KGZyYW1lKV07CiB9CiAKLSNpZiBFTkFCTEUoQVRUQUNITUVO
VF9FTEVNRU5UKQotdm9pZCBXZWJEcmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50
KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhdGgsIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSkKLXsKLSAg
ICBBU1NFUlQocGFzdGVib2FyZE5hbWUpOwotICAgIAotICAgIFtbTlNQYXN0ZWJvYXJkIHBhc3Rl
Ym9hcmRXaXRoTmFtZTpwYXN0ZWJvYXJkTmFtZV0gX3dlYl9kZWNsYXJlQW5kV3JpdGVEcmFnSW1h
Z2VGb3JFbGVtZW50OmtpdCgmZWxlbWVudCkgVVJMOnVybCB0aXRsZTpwYXRoIGFyY2hpdmU6bmls
IHNvdXJjZTpnZXRUb3BIVE1MVmlldyhmcmFtZSldOwotfQotI2VuZGlmCi0KICNlbGlmICFFTkFC
TEUoREFUQV9JTlRFUkFDVElPTikKIAogYm9vbCBXZWJEcmFnQ2xpZW50Ojp1c2VMZWdhY3lEcmFn
Q2xpZW50KCkKQEAgLTIxNCwxMiArMjA1LDYgQEAgdm9pZCBXZWJEcmFnQ2xpZW50OjpkZWNsYXJl
QW5kV3JpdGVEcmFnSW1hZ2UoY29uc3QgU3RyaW5nJiwgRWxlbWVudCYsIGNvbnN0IFVSTCYKIHsK
IH0KIAotI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi12b2lkIFdlYkRyYWdDbGllbnQ6
OmRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiwgRWxlbWVudCYsIGNvbnN0
IFVSTCYsIGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6OkZyYW1lKikKLXsKLX0KLSNlbmRpZgotCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTI1OCwxMiArMjQzLDYgQEAgdm9pZCBXZWJE
cmFnQ2xpZW50OjpkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgRWxlbWUKICAgICAgICAgZnJhbWUtPmVkaXRvcigpLndyaXRlSW1hZ2VUb1Bhc3Rl
Ym9hcmQoKlBhc3RlYm9hcmQ6OmNyZWF0ZUZvckRyYWdBbmREcm9wKCksIGVsZW1lbnQsIHVybCwg
bGFiZWwpOwogfQogCi0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLXZvaWQgV2ViRHJh
Z0NsaWVudDo6ZGVjbGFyZUFuZFdyaXRlQXR0YWNobWVudChjb25zdCBTdHJpbmcmLCBFbGVtZW50
JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgRnJhbWUqKQotewotfQotI2VuZGlmCi0KIHZv
aWQgV2ViRHJhZ0NsaWVudDo6ZGlkQ29uY2x1ZGVFZGl0RHJhZygpCiB7CiAgICAgW21fd2ViVmll
dyBfZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGNhMjkyNzFkZjNmNjA2MWQzMjRh
ZWNlNjQ1MjU2YjA2NDMxZDI3MDkuLjJmZWY2NDczM2RjMDYzZmExMTllYWZmZjA4MWJlNTcwMWM3
ZDgxYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQpAQCAtNDM2NSwxMCArNDM2NSw2IEBAIC0gKE5TQXJyYXkgKiluYW1lc09mUHJvbWlzZWRG
aWxlc0Ryb3BwZWRBdERlc3RpbmF0aW9uOihOU1VSTCAqKWRyb3BEZXN0aW5hdGlvbgogICAgICAg
ICBjb25zdCBVUkwmIGltYWdlVVJMID0gcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnZ2luZ0lt
YWdlVVJMKCk7CiAgICAgICAgIGlmICghaW1hZ2VVUkwuaXNFbXB0eSgpKQogICAgICAgICAgICAg
ZHJhZ2dpbmdFbGVtZW50VVJMID0gaW1hZ2VVUkw7Ci0jaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZHJhZ2dpbmdFbGVtZW50VVJMID0gcGFn
ZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnZ2luZ0F0dGFjaG1lbnRVUkwoKTsKLSNlbmRpZgogCiAg
ICAgICAgIHdyYXBwZXIgPSBbW3NlbGYgX2RhdGFTb3VyY2VdIF9maWxlV3JhcHBlckZvclVSTDpk
cmFnZ2luZ0VsZW1lbnRVUkxdOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>