<?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>95582</bug_id>
          
          <creation_ts>2012-08-31 09:09:22 -0700</creation_ts>
          <short_desc>[Gtk] Add Battery Status API support</short_desc>
          <delta_ts>2013-12-12 00:06:14 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95937</dependson>
    
    <dependson>115628</dependson>
    
    <dependson>115718</dependson>
    
    <dependson>115719</dependson>
    
    <dependson>115720</dependson>
    
    <dependson>125453</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="José Dapena Paz">jdapena</reporter>
          <assigned_to name="José Dapena Paz">jdapena</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>gustavo</cc>
    
    <cc>jdapena</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709690</commentid>
    <comment_count>0</comment_count>
    <who name="José Dapena Paz">jdapena</who>
    <bug_when>2012-08-31 09:09:22 -0700</bug_when>
    <thetext>Battery Status API allows web applications to track power status of the device. It allows to behave different depending on that (i.e. avoid expensive calculations or polling if battery is low and discharging).

Specs: http://dvcs.w3.org/hg/dap/raw-file/tip/battery/Overview.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711227</commentid>
    <comment_count>1</comment_count>
      <attachid>162059</attachid>
    <who name="José Dapena Paz">jdapena</who>
    <bug_when>2012-09-04 10:50:52 -0700</bug_when>
    <thetext>Created attachment 162059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711230</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-04 10:54:49 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711255</commentid>
    <comment_count>3</comment_count>
      <attachid>162059</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-04 11:13:55 -0700</bug_when>
    <thetext>Comment on attachment 162059
Patch

Attachment 162059 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13743569</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711261</commentid>
    <comment_count>4</comment_count>
      <attachid>162059</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-09-04 11:17:24 -0700</bug_when>
    <thetext>Comment on attachment 162059
Patch

Attachment 162059 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13757285</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711262</commentid>
    <comment_count>5</comment_count>
      <attachid>162059</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-04 11:17:33 -0700</bug_when>
    <thetext>Comment on attachment 162059
Patch

Attachment 162059 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13739629</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711336</commentid>
    <comment_count>6</comment_count>
      <attachid>162059</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-04 12:19:08 -0700</bug_when>
    <thetext>Comment on attachment 162059
Patch

Attachment 162059 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13744616</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815517</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-01-24 08:55:46 -0800</bug_when>
    <thetext>Can we get this work moving again? I can help if help is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874892</commentid>
    <comment_count>8</comment_count>
      <attachid>162059</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-04-12 12:15:22 -0700</bug_when>
    <thetext>Comment on attachment 162059
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        Test are disabled, as there is a linking issue related to
&gt; +        WebCoreInternals.

It&apos;d be nice to figure this issue out. Also, not sure we want to add new features in WK1 at this point :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875187</commentid>
    <comment_count>9</comment_count>
      <attachid>162059</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-04-13 10:05:00 -0700</bug_when>
    <thetext>Comment on attachment 162059
Patch

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

The specification is a candidate recommendation so I think it would be great if we can get the implementation up and working.

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        WebCoreInternals.
&gt; 
&gt; It&apos;d be nice to figure this issue out. Also, not sure we want to add new features in WK1 at this point :/

I think this is simply a matter of exporting the undefined symbols, nothing uncommon really.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875188</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-04-13 10:06:28 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; The specification is a candidate recommendation so I think it would be great if we can get the implementation up and working.
&gt; 

Link to the specification:
http://www.w3.org/TR/battery-status/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920295</commentid>
    <comment_count>11</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2013-08-23 10:50:32 -0700</bug_when>
    <thetext>Oops. I didn&apos;t notice this movement supporting BatteryStatus before.. :p
What&apos;s going on this? 
I&apos;ve also worked a patch for this feature. If you guys don&apos;t mind, I&apos;d like to post my patch somewhere. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920301</commentid>
    <comment_count>12</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-08-23 11:09:09 -0700</bug_when>
    <thetext>Shame about the duplicated work.

My set of patches is complete, but still requires reviewing. The patches are spread in the bugs that are blocking this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958786</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-12-11 10:22:22 -0800</bug_when>
    <thetext>Aaand it&apos;s done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959074</commentid>
    <comment_count>14</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2013-12-12 00:06:14 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Aaand it&apos;s done.

Zan, great works! :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162059</attachid>
            <date>2012-09-04 10:50:52 -0700</date>
            <delta_ts>2013-04-13 10:05:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95582-20120904195034.patch</filename>
            <type>text/plain</type>
            <size>45239</size>
            <attacher name="José Dapena Paz">jdapena</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVmNGRiYTQ4NDE2YjJh
MDdiYmQ5N2Q4YWZjNzM3M2JmNGMzN2Y3My4uYjUzMDlhMGRhOWY5MzM4Njc1MzYxNTA4MmRhY2Iy
Y2RhMjE5Y2NmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTA5LTA0ICBKb3PD
qSBEYXBlbmEgUGF6ICA8amRhcGVuYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIEFkZCBC
YXR0ZXJ5IFN0YXR1cyBBUEkgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTU1ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBpbXBsZW1lbnRhdGlvbiBmb3IgQmF0dGVyeSBTdGF0dXMg
QVBJIGJhc2VkIG9uIFVQb3dlci1nbGliCisgICAgICAgIG9uIEd0ayBwb3J0LiBUaGUgaW1wbGVt
ZW50YXRpb24gaXMgYmFzZWQgb24gdGhlIG9uZSBmb3IgRWZsLAorICAgICAgICBidXQgYWNjZXNz
ZXMgVVBvd2VyIHVzaW5nIGdsaWIgQVBJLCBpbnN0ZWFkIG9mIEVfZGJ1cy4KKworICAgICAgICBU
ZXN0IGFyZSBkaXNhYmxlZCwgYXMgdGhlcmUgaXMgYSBsaW5raW5nIGlzc3VlIHJlbGF0ZWQgdG8K
KyAgICAgICAgV2ViQ29yZUludGVybmFscy4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVyVVBvd2VyOjpC
YXR0ZXJ5UHJvdmlkZXJVUG93ZXIpOgorICAgICAgICAoV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVy
VVBvd2VyOjpiYXR0ZXJ5U3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6Om9uX2RldmljZV91cGRh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6QmF0dGVyeVByb3ZpZGVyVVBvd2VyOjp0aW1lckZpcmVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlclVQb3dlcjo6c3RhcnRVcGRhdGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpCYXR0ZXJ5UHJvdmlkZXJVUG93ZXI6OnN0b3BVcGRhdGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpCYXR0ZXJ5UHJvdmlkZXJVUG93ZXI6OnNldEJhdHRlcnlT
dGF0dXMpOgorICAgICAgICAqIHBsYXRmb3JtL2xpbnV4L0JhdHRlcnlQcm92aWRlclVQb3dlci5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQmF0dGVyeVByb3ZpZGVyVVBv
d2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkJhdHRlcnlQcm92aWRlclVQb3dlcjo6fkJhdHRlcnlQ
cm92aWRlclVQb3dlcik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvQmF0dGVyeVByb3ZpZGVy
VVBvd2VyQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChCYXR0
ZXJ5UHJvdmlkZXJVUG93ZXJDbGllbnQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0QmF0dGVyeVN0YXR1cyk6CisKIDIw
MTItMDktMDQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBNb3JlIGRpcmVjdGlvbmFsIGNvbnRyb2wgY2hhcmFjdGVycyBm
b3IgZGVidWdnaW5nIGluIGluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDVlMDQ4MWM0NmY1
YzMyMWFhNmNlMjNlNjc4MTlhOGFhMTk3MzI5NTcuLmJjZTQxOTU1MGNkNzdhN2UyNjA0YWFmN2Ri
MGM1OTAxZTgyN2Y2OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0w
OS0wNCAgSm9zw6kgRGFwZW5hIFBheiAgPGpkYXBlbmFAaWdhbGlhLmNvbT4KKworICAgICAgICBb
R3RrXSBBZGQgQmF0dGVyeSBTdGF0dXMgQVBJIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgaW1wbGVtZW50YXRpb24gZm9yIEJhdHRl
cnkgU3RhdHVzIEFQSSBiYXNlZCBvbiBVUG93ZXItZ2xpYgorICAgICAgICBvbiBHdGsgcG9ydC4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Jh
dHRlcnlDbGllbnRHdGsuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OkJhdHRlcnlDbGllbnRHdGs6OkJhdHRlcnlDbGllbnRHdGspOgorICAgICAgICAoV2Vi
S2l0OjpCYXR0ZXJ5Q2xpZW50R3RrOjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6
QmF0dGVyeUNsaWVudEd0azo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6QmF0dGVy
eUNsaWVudEd0azo6YmF0dGVyeUNvbnRyb2xsZXJEZXN0cm95ZWQpOgorICAgICAgICAoV2ViS2l0
OjpCYXR0ZXJ5Q2xpZW50R3RrOjpkaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9CYXR0ZXJ5Q2xpZW50R3RrLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKEJhdHRlcnlDbGllbnRHdGspOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3
ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19pbml0KToKKwogMjAxMi0wOS0w
MSAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0d0a10g
SW5jb3JyZWN0L3VuZXhwZWN0ZWQgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBvZiBjZXJ0YWluIGFj
Y2Vzc2libGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmUzM2NiOGJmMWRjZWUwMjYxMDNkMTM5M2E2ZDk0MmE5
NjBkYmJhMS4uNjdlMTMwNTFjMzIxZjVlZWNkN2IxOTFiYjI5YjJhZGVhZWI4NzdmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA5LTA0ICBKb3PDqSBEYXBlbmEgUGF6ICA8amRh
cGVuYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIEFkZCBCYXR0ZXJ5IFN0YXR1cyBBUEkg
c3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTU1ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBpbXBsZW1lbnRhdGlvbiBmb3IgQmF0dGVyeSBTdGF0dXMgQVBJIGJhc2VkIG9uIFVQb3dl
ci1nbGliCisgICAgICAgIG9uIEd0ayBwb3J0LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRCYXR0ZXJ5UHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKHRvQmF0dGVy
eVByb3ZpZGVyKToKKyAgICAgICAgKHN0YXJ0VXBkYXRpbmdDYWxsYmFjayk6CisgICAgICAgIChz
dG9wVXBkYXRpbmdDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXRCYXR0ZXJ5UHJvdmlkZXI6On5X
ZWJLaXRCYXR0ZXJ5UHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0QmF0dGVyeVByb3ZpZGVyOjpj
cmVhdGUpOgorICAgICAgICAoV2ViS2l0QmF0dGVyeVByb3ZpZGVyOjpXZWJLaXRCYXR0ZXJ5UHJv
dmlkZXIpOgorICAgICAgICAoV2ViS2l0QmF0dGVyeVByb3ZpZGVyOjpzdGFydFVwZGF0aW5nKToK
KyAgICAgICAgKFdlYktpdEJhdHRlcnlQcm92aWRlcjo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAg
KFdlYktpdEJhdHRlcnlQcm92aWRlcjo6ZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmF0dGVyeVByb3ZpZGVyLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0QmF0dGVyeVByb3ZpZGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJDb250ZXh0UHJpdmF0
ZSk6CisgICAgICAgIChjcmVhdGVEZWZhdWx0V2ViQ29udGV4dCk6CisKIDIwMTItMDktMDQgIFJ5
dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIERyb3Ag
ZGVmYXVsdCB0aGVtZSBjb25jZXB0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggZjAw
ZDU1NjhiOTAxNTc3OTU3NWE3M2NiMDZiZjc3ZGZkMzcxNTNjNy4uNDZiZWUyNzI2MDM5MjBlYmQ0
MzYyMTNhMzE0MGI1OTQxMGQyZjY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAt
MzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJWaWV3LmNwcCIKICNpbmNsdWRl
ICJKU0F0dHIuY3BwIgogI2luY2x1ZGUgIkpTQmFySW5mby5jcHAiCisjaWYgRU5BQkxFKEJBVFRF
UllfU1RBVFVTKQorI2luY2x1ZGUgIkpTQmF0dGVyeU1hbmFnZXIuY3BwIgorI2VuZGlmCiAjaW5j
bHVkZSAiSlNCZWZvcmVMb2FkRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTQmxvYi5jcHAiCiAjaW5j
bHVkZSAiSlNDYW52YXNHcmFkaWVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBiOWQ2M2JlMjczNDBmN2M4MmRjMDYxNTQ4NWY4OWEzNjg2Yjc5YmQ5Li4yMDM1NGY3ZTZl
Mjk5NGY1MDNiNmVmN2VmYTA3ZjNjNmI4ZDliZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTI4LDYgKzI4LDcgQEAKIAogVlBBVEggPSBcCiAgICAgJChXZWJDb3JlKSBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2JhdHRlcnkgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9m
aWxlc3lzdGVtIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIgXApAQCAtNjEsNiArNjIsOCBAQCBWUEFUSCA9IFwK
ICMKIAogQklORElOR19JRExTID0gXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iYXR0ZXJ5L0Jh
dHRlcnlNYW5hZ2VyLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2JhdHRlcnkvTmF2aWdh
dG9yQmF0dGVyeS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtL0RPTUZp
bGVTeXN0ZW0uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmlsZXN5c3RlbS9ET01GaWxl
U3lzdGVtU3luYy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdp
bmRvd0ZpbGVTeXN0ZW0uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMzIxZDUwMDFiOTBm
YWI3ZjU0ZDM1ZjkxYzk3ZGE1M2E0MTc1YWVlYy4uYzI0YjBmM2E2ZGFiN2FlNjAxZmMyZjhmMjE0
ODNhN2U5Y2U5MmU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTksNiArOSw3IEBAIHdlYmNv
cmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2lu
Y2x1ZGUgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvR0xT
TEFORyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUgXAorCS1JJChzcmNkaXIpL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYmF0dGVyeSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9maWxlc3lzdGVtIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dhbWVwYWQgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24gXApAQCAtNzAzLDYgKzcwNCwxNSBAQCBmZWF0dXJlX2RlZmluZXNfb3ZlcnJpZGVzICs9IEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT049MAogZW5kaWYgICMgRU5EIEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04KIAogIyAtLS0KKyMgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydAorIyAtLS0KK2lmIEVO
QUJMRV9CQVRURVJZX1NUQVRVUworZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRlcyArPSBFTkFCTEVf
QkFUVEVSWV9TVEFUVVM9MQorZWxzZQorZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRlcyArPSBFTkFC
TEVfQkFUVEVSWV9TVEFUVVM9MAorZW5kaWYgICMgRU5EIEVOQUJMRV9CQVRURVJZX1NUQVRVUwor
CisjIC0tLQogIyBUZXh0IEF1dG9zaXppbmcgc3VwcG9ydAogIyAtLS0KIGlmIEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcKQEAgLTkzNiw2ICs5NDYsNyBAQCBEZXJpdmVkU291cmNlcy9BTkdMRS9nbHNs
YW5nX3RhYi5jcHA6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci9nbHNsYQog
RGVyaXZlZFNvdXJjZXMvQU5HTEUvZ2xzbGFuZ190YWIuaDogRGVyaXZlZFNvdXJjZXMvQU5HTEUv
Z2xzbGFuZ190YWIuY3BwCiAKIElETF9QQVRIIDo9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YmF0dGVyeSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZpbGVzeXN0ZW0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9nYW1lcGFkIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRp
b24gXApAQCAtMTA0NSw2ICsxMDU2LDcgQEAgbGliV2ViQ29yZV9sYV9DUFBGTEFHUyA9IFwKIAkk
KFBBTkdPX0NGTEFHUykgXAogCSQoU1FMSVRFM19DRkxBR1MpIFwKIAkkKFVOSUNPREVfQ0ZMQUdT
KSBcCisJJChVUE9XRVJfQ0ZMQUdTKSBcCiAJJChYUkVOREVSX0NGTEFHUykgXAogCSQoWFRfQ0ZM
QUdTKQogCkBAIC0xMTExLDYgKzExMjMsNyBAQCBsaWJXZWJDb3JlR3RrX2xhX0NQUEZMQUdTID0g
XAogCSQoWFRfQ0ZMQUdTKQogCiBFWFRSQV9ESVNUICs9IFwKKwkkKHNoZWxsIGxzICQoc3JjZGly
KS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2JhdHRlcnkvKi5pZGwpIFwKIAkkKHNoZWxsIGxzICQo
c3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vKi5pZGwpIFwKIAkkKHNo
ZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dhbWVwYWQvKi5pZGwpIFwK
IAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9u
LyouaWRsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBiNzE4YmIwZDAxNTM3
MjhjNjdmZGYxMWJiMGM4ODM0MTA5MWJmYWViLi5hMzFhM2NiNTBlODg5YzQyMWUzNzY3NjU2Mzc3
MTQyNjQ3YmM0MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTY5LDYgKzY5
LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXVkaW9Tb3VyY2VOb2RlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNCYXJJbmZv
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0JhckluZm8uaCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0JhdHRlcnlNYW5hZ2VyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0JhdHRlcnlNYW5hZ2VyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNCZWZv
cmVMb2FkRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQmVmb3JlTG9hZEV2
ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNCaXF1YWRGaWx0ZXJOb2RlLmNwcCBc
CkBAIC01NTEsNiArNTUzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JCYXR0ZXJ5LmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckJhdHRlcnkuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCkBAIC0x
MTU2LDYgKzExNjAsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvWFBhdGhHcmFtbWFyLmgKIAogZG9tX2JpbmRpbmdfaWRscyArPSBcCisJJChX
ZWJDb3JlKS9Nb2R1bGVzL2JhdHRlcnkvQmF0dGVyeU1hbmFnZXIuaWRsIFwKKwkkKFdlYkNvcmUp
L01vZHVsZXMvYmF0dGVyeS9OYXZpZ2F0b3JCYXR0ZXJ5LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRE9NRmlsZVN5c3RlbS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9m
aWxlc3lzdGVtL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRE9NV2luZG93RmlsZVN5c3RlbS5pZGwgXApAQCAtMTcyOCw2ICsxNzM0LDE1IEBA
IGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkveG1sL1hTTFRQcm9jZXNzb3IuaWRs
CiAKIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2JhdHRlcnkvQmF0dGVyeUNsaWVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2JhdHRl
cnkvQmF0dGVyeUNvbnRyb2xsZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2JhdHRl
cnkvQmF0dGVyeUNvbnRyb2xsZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iYXR0ZXJ5
L0JhdHRlcnlNYW5hZ2VyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iYXR0ZXJ5L0Jh
dHRlcnlNYW5hZ2VyLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYmF0dGVyeS9CYXR0ZXJ5
U3RhdHVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iYXR0ZXJ5L0JhdHRlcnlTdGF0
dXMuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iYXR0ZXJ5L05hdmlnYXRvckJhdHRlcnku
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2JhdHRlcnkvTmF2aWdhdG9yQmF0dGVyeS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vQXN5bmNGaWxlV3JpdGVyLmgg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Bc3luY0ZpbGVXcml0ZXJDbGll
bnQuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTUZpbGVQYXRoLmNw
cCBcCkBAIC00NTI4LDYgKzQ1NDMsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VGVzdFN1cHBvcnQuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRUZXN0U3VwcG9ydC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXIuaCBcCisJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbGludXgvQmF0dGVyeVByb3ZpZGVyVVBvd2VyQ2xpZW50LmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L0dhbWVwYWREZXZpY2VMaW51eC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L0dhbWVwYWREZXZpY2VMaW51eC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9JY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQppbmRl
eCA0ZDk5MzNmY2RiYTFjMDRhMGY0ZDkzNWUyZDYxN2JiMzk4YmE2YzE3Li5iZjFjNGU4NDc2ODU4
OTJmNjFiM2U4YWU0ZGFmMWU2NTNiZjE3OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KQEAgLTMsNiArMyw4IEBAIHdlYmtpdGd0a19nZG9t
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01BdHRy
UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQmFySW5mby5jcHAg
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01CYXJJbmZvUHJpdmF0ZS5oIFwKKwlE
ZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQmF0dGVyeU1hbmFnZXIuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQmF0dGVyeU1hbmFnZXJQcml2YXRlLmggXAogCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01CbG9iLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTUJsb2JQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01DREFUQVNlY3Rpb24uY3BwIFwKQEAgLTI2NCw2ICsyNjYsNyBAQCB3ZWJraXRndGtf
Z2RvbV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
WFBhdGhSZXN1bHRQcml2YXRlLmgKIAogd2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKKwlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQmF0dGVyeU1hbmFnZXIuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvd2Via2l0L1dlYktpdERPTUNTU1J1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTUNTU1J1bGVMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01DU1NTdHlsZURlY2xhcmF0aW9uLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBk
ODVhOGM0Yzk0ZGIxYjQ4ZWZhZGY0N2JhYWI0ZDJjM2QyNDFlNzQxLi5iMGFlODE4M2VhYjI5Yzcw
ZGUyMjljZjFjNmJmN2RjNDQ5OTkzZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAt
NDEsNiArNDEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXVkaW9Db250
ZXh0OworICAgIGNsYXNzIEJhdHRlcnlNYW5hZ2VyOwogICAgIGNsYXNzIERlZGljYXRlZFdvcmtl
ckNvbnRleHQ7CiAgICAgY2xhc3MgRE9NQXBwbGljYXRpb25DYWNoZTsKICAgICBjbGFzcyBET01X
aW5kb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZDc4N2E2NWJkNmQ4MGM1NTBm
OGQxMmEwZDRmMTMxZjc4NjFkMTdhZC4uYWE3ZmZhNDk3NzRiMzczN2FmZjgxMmNhODMwMzU3OGRl
YWMwMjViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJCYXJJbmZvLmgiCisjaW5jbHVkZSAiQmF0dGVyeU1hbmFnZXIu
aCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgogI2luY2x1ZGUgIkNTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1J1bGVMaXN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgvQmF0dGVyeVByb3ZpZGVyVVBvd2VyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNzJiNWFhYTg1YTAyNjI3MTM5MDg1MTQwZDNmOWYxNGE2OTk3ZjEyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgvQmF0dGVyeVBy
b3ZpZGVyVVBvd2VyLmNwcApAQCAtMCwwICsxLDE2NiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMTIgSWdhbGlhLCBTLkwuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJCYXR0ZXJ5UHJvdmlkZXJVUG93ZXIuaCIKKworI2lmIEVOQUJMRShCQVRURVJZX1NUQVRV
UykKKworI2luY2x1ZGUgIkJhdHRlcnlQcm92aWRlclVQb3dlckNsaWVudC5oIgorI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitCYXR0ZXJ5UHJvdmlkZXJV
UG93ZXI6OkJhdHRlcnlQcm92aWRlclVQb3dlcihCYXR0ZXJ5UHJvdmlkZXJVUG93ZXJDbGllbnQq
IGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fbG9hZERldmljZXNUaW1l
cih0aGlzLCAmQmF0dGVyeVByb3ZpZGVyVVBvd2VyOjp0aW1lckZpcmVkKQorICAgICwgbV91cENs
aWVudCgwKQoreworfQorCitCYXR0ZXJ5U3RhdHVzKiBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXI6OmJh
dHRlcnlTdGF0dXMoKSBjb25zdAoreworICAgIHJldHVybiBtX2JhdHRlcnlTdGF0dXMuZ2V0KCk7
Cit9CisKK3N0YXRpYyB2b2lkCitvbl9kZXZpY2VfdXBkYXRlKFVwQ2xpZW50ICp1cENsaWVudCwg
VXBEZXZpY2UgKmRldmljZSwgZ3BvaW50ZXIgdXNlcmRhdGEpCit7CisgICAgVXBEZXZpY2VLaW5k
IGtpbmQ7CisKKyAgICBnX29iamVjdF9nZXQoZGV2aWNlLCAia2luZCIsICZraW5kLCBOVUxMKTsK
KyAgICBpZiAoa2luZCAhPSBVUF9ERVZJQ0VfS0lORF9CQVRURVJZKQorICAgICAgICByZXR1cm47
CisKKyAgICBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXIqIGNsaWVudCA9IHN0YXRpY19jYXN0PEJhdHRl
cnlQcm92aWRlclVQb3dlcio+KHVzZXJkYXRhKTsKKyAgICBCYXR0ZXJ5U3RhdHVzKiBjbGllbnRC
YXR0ZXJ5U3RhdHVzID0gY2xpZW50LT5iYXR0ZXJ5U3RhdHVzKCk7CisgICAgYm9vbCBjaGFyZ2lu
ZyA9IGZhbHNlOworICAgIGJvb2wgY2hhcmdpbmdDaGFuZ2VkID0gZmFsc2U7CisKKyAgICBVcERl
dmljZVN0YXRlIG5ld1N0YXRlOworICAgIGdfb2JqZWN0X2dldChkZXZpY2UsICJzdGF0ZSIsICZu
ZXdTdGF0ZSwgTlVMTCk7CisgICAgaWYgICghY2xpZW50QmF0dGVyeVN0YXR1cyB8fCBuZXdTdGF0
ZSAhPSBVUF9ERVZJQ0VfU1RBVEVfVU5LTk9XTikgeworICAgICAgICBjaGFyZ2luZyA9IChuZXdT
dGF0ZSA9PSBVUF9ERVZJQ0VfU1RBVEVfQ0hBUkdJTkcpCisgICAgICAgICAgICB8fCAobmV3U3Rh
dGUgPT0gVVBfREVWSUNFX1NUQVRFX0ZVTExZX0NIQVJHRUQpOworICAgICAgICAgICAgY2hhcmdp
bmdDaGFuZ2VkID0gdHJ1ZTsKKyAgICB9IGVsc2UKKyAgICAgICAgY2hhcmdpbmcgPSBjbGllbnRC
YXR0ZXJ5U3RhdHVzLT5jaGFyZ2luZygpOworCisgICAgYm9vbCBjaGFyZ2luZ1RpbWVDaGFuZ2Vk
ID0gZmFsc2U7CisgICAgYm9vbCBkaXNjaGFyZ2luZ1RpbWVDaGFuZ2VkID0gZmFsc2U7CisgICAg
ZG91YmxlIGNoYXJnaW5nVGltZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5p
dHkoKTsKKyAgICBkb3VibGUgZGlzY2hhcmdpbmdUaW1lID0gc3RkOjpudW1lcmljX2xpbWl0czxk
b3VibGU+OjppbmZpbml0eSgpOworCisgICAgaWYgKGNoYXJnaW5nKSB7CisgICAgICAgIGlmICgh
Y2xpZW50QmF0dGVyeVN0YXR1cyB8fCBjbGllbnRCYXR0ZXJ5U3RhdHVzLT5kaXNjaGFyZ2luZ1Rp
bWUoKSAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAgICAg
ICAgICBkaXNjaGFyZ2luZ1RpbWVDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgZGlzY2hhcmdpbmdU
aW1lID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworCisgICAgICAg
IGdpbnQ2NCB0aW1lVG9GdWxsOworICAgICAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoZGV2aWNl
KSwgInRpbWUtdG8tZnVsbCIsICZ0aW1lVG9GdWxsLCBOVUxMKTsKKyAgICAgICAgaWYgKCFjbGll
bnRCYXR0ZXJ5U3RhdHVzIHx8IGNsaWVudEJhdHRlcnlTdGF0dXMtPmNoYXJnaW5nVGltZSgpICE9
IHRpbWVUb0Z1bGwpCisgICAgICAgICAgICBjaGFyZ2luZ1RpbWVDaGFuZ2VkID0gdHJ1ZTsKKyAg
ICAgICAgY2hhcmdpbmdUaW1lID0gdGltZVRvRnVsbDsKKyAgICB9IGVsc2UgeworICAgICAgICBp
ZiAoIWNsaWVudEJhdHRlcnlTdGF0dXMgfHwgY2xpZW50QmF0dGVyeVN0YXR1cy0+Y2hhcmdpbmdU
aW1lKCkgIT0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpKQorICAgICAg
ICAgICAgY2hhcmdpbmdUaW1lQ2hhbmdlZCA9IHRydWU7CisgICAgICAgIGNoYXJnaW5nVGltZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKTsKKyAgICAgICAgZ2ludDY0
IHRpbWVUb0VtcHR5OworICAgICAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoZGV2aWNlKSwgInRp
bWUtdG8tZW1wdHkiLCAmdGltZVRvRW1wdHksIE5VTEwpOworICAgICAgICBpZiAoIWNsaWVudEJh
dHRlcnlTdGF0dXMgfHwgY2xpZW50QmF0dGVyeVN0YXR1cy0+ZGlzY2hhcmdpbmdUaW1lKCkgIT0g
dGltZVRvRW1wdHkpCisgICAgICAgICAgICBkaXNjaGFyZ2luZ1RpbWVDaGFuZ2VkID0gdHJ1ZTsK
KyAgICAgICAgZGlzY2hhcmdpbmdUaW1lID0gdGltZVRvRW1wdHk7CisgICAgfQorCisgICAgYm9v
bCBsZXZlbENoYW5nZWQgPSBmYWxzZTsKKyAgICBkb3VibGUgcGVyY2VudGFnZTsKKyAgICBnX29i
amVjdF9nZXQoR19PQkpFQ1QoZGV2aWNlKSwgInBlcmNlbnRhZ2UiLCAmcGVyY2VudGFnZSwgTlVM
TCk7CisgICAgZG91YmxlIGxldmVsID0gcGVyY2VudGFnZSAvIDEwMDsKKyAgICBpZiAoIWNsaWVu
dEJhdHRlcnlTdGF0dXMgfHwgY2xpZW50QmF0dGVyeVN0YXR1cy0+bGV2ZWwoKSAhPSBsZXZlbCkK
KyAgICAgICAgbGV2ZWxDaGFuZ2VkID0gdHJ1ZTsKKworICAgIFdURjo6UmVmUHRyPEJhdHRlcnlT
dGF0dXM+IGJhdHRlcnlTdGF0dXMgPSBCYXR0ZXJ5U3RhdHVzOjpjcmVhdGUoY2hhcmdpbmcsIGNo
YXJnaW5nVGltZSwgZGlzY2hhcmdpbmdUaW1lLCBsZXZlbCk7CisgICAgaWYgKGNoYXJnaW5nQ2hh
bmdlZCkKKyAgICAgICAgY2xpZW50LT5zZXRCYXR0ZXJ5U3RhdHVzKGV2ZW50TmFtZXMoKS5jaGFy
Z2luZ2NoYW5nZUV2ZW50LCBiYXR0ZXJ5U3RhdHVzKTsKKyAgICBpZiAoY2hhcmdpbmdUaW1lQ2hh
bmdlZCkKKyAgICAgICAgY2xpZW50LT5zZXRCYXR0ZXJ5U3RhdHVzKGV2ZW50TmFtZXMoKS5jaGFy
Z2luZ3RpbWVjaGFuZ2VFdmVudCwgYmF0dGVyeVN0YXR1cyk7CisgICAgaWYgKGRpc2NoYXJnaW5n
VGltZUNoYW5nZWQpCisgICAgICAgIGNsaWVudC0+c2V0QmF0dGVyeVN0YXR1cyhldmVudE5hbWVz
KCkuZGlzY2hhcmdpbmd0aW1lY2hhbmdlRXZlbnQsIGJhdHRlcnlTdGF0dXMpOworICAgIGlmIChs
ZXZlbENoYW5nZWQpCisgICAgICAgIGNsaWVudC0+c2V0QmF0dGVyeVN0YXR1cyhldmVudE5hbWVz
KCkubGV2ZWxjaGFuZ2VFdmVudCwgYmF0dGVyeVN0YXR1cyk7CisKKworfQorCit2b2lkIEJhdHRl
cnlQcm92aWRlclVQb3dlcjo6dGltZXJGaXJlZChUaW1lcjxCYXR0ZXJ5UHJvdmlkZXJVUG93ZXI+
KiB0aW1lcikKK3sKKyAgICBVTlVTRURfUEFSQU0odGltZXIpOworICAgIGlmICghbV91cENsaWVu
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgR1B0ckFycmF5KiBhbGxEZXZpY2VzID0gdXBfY2xp
ZW50X2dldF9kZXZpY2VzKG1fdXBDbGllbnQpOworICAgIGlmICghYWxsRGV2aWNlcykKKyAgICAg
ICAgcmV0dXJuOworICAgIGZvciAoZ3VpbnQgaSA9IDA7IGkgPCBhbGxEZXZpY2VzLT5sZW47IGkr
KykKKyAgICAgICAgb25fZGV2aWNlX3VwZGF0ZShtX3VwQ2xpZW50LCBzdGF0aWNfY2FzdDxVcERl
dmljZSo+KGdfcHRyX2FycmF5X2luZGV4KGFsbERldmljZXMsIGkpKSwgdGhpcyk7CisgICAgZ19w
dHJfYXJyYXlfdW5yZWYoYWxsRGV2aWNlcyk7Cit9CisKK3ZvaWQgQmF0dGVyeVByb3ZpZGVyVVBv
d2VyOjpzdGFydFVwZGF0aW5nKCkKK3sKKyAgICBpZiAobV91cENsaWVudCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV91cENsaWVudCA9IHVwX2NsaWVudF9uZXcoKTsKKworICAgIEdFcnJvciog
ZXJyb3IgPSAwOworICAgIHVwX2NsaWVudF9lbnVtZXJhdGVfZGV2aWNlc19zeW5jKG1fdXBDbGll
bnQsIDAsICZlcnJvcik7CisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIHN0b3BVcGRhdGluZygp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1Qo
bV91cENsaWVudCksICJkZXZpY2UtYWRkZWQiLCBHX0NBTExCQUNLKG9uX2RldmljZV91cGRhdGUp
LCB0aGlzKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KEdfT0JKRUNUKG1fdXBDbGllbnQpLCAiZGV2
aWNlLXJlbW92ZWQiLCBHX0NBTExCQUNLKG9uX2RldmljZV91cGRhdGUpLCB0aGlzKTsKKyAgICBn
X3NpZ25hbF9jb25uZWN0KEdfT0JKRUNUKG1fdXBDbGllbnQpLCAiZGV2aWNlLWNoYW5nZWQiLCBH
X0NBTExCQUNLKG9uX2RldmljZV91cGRhdGUpLCB0aGlzKTsKKworICAgIG1fbG9hZERldmljZXNU
aW1lci5zdGFydE9uZVNob3QoMC4xKTsKK30KKwordm9pZCBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXI6
OnN0b3BVcGRhdGluZygpCit7CisgICAgaWYgKG1fbG9hZERldmljZXNUaW1lci5pc0FjdGl2ZSgp
KQorICAgICAgICBtX2xvYWREZXZpY2VzVGltZXIuc3RvcCgpOworCisgICAgaWYgKG1fdXBDbGll
bnQpIHsKKyAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKEdfT0JK
RUNUKG1fdXBDbGllbnQpLCAoZ3BvaW50ZXIpIG9uX2RldmljZV91cGRhdGUsIHRoaXMpOworICAg
ICAgICBnX29iamVjdF91bnJlZihtX3VwQ2xpZW50KTsKKyAgICAgICAgbV91cENsaWVudCA9IDA7
CisgICAgfQorfQorCit2b2lkIEJhdHRlcnlQcm92aWRlclVQb3dlcjo6c2V0QmF0dGVyeVN0YXR1
cyhjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxCYXR0ZXJ5U3RhdHVz
PiBiYXR0ZXJ5U3RhdHVzKQoreworICAgIG1fYmF0dGVyeVN0YXR1cyA9IGJhdHRlcnlTdGF0dXM7
CisgICAgbV9jbGllbnQtPmRpZENoYW5nZUJhdHRlcnlTdGF0dXMoZXZlbnRUeXBlLCBtX2JhdHRl
cnlTdGF0dXMpOworfQorCit9CisKKyNlbmRpZiAvLyBCQVRURVJZX1NUQVRVUworCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L0JhdHRlcnlQcm92aWRlclVQb3dlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY2NTBjZmUwY2RiZmEzMGRmMjEzMzIxYTlmOTliMzA3YzBhMDM3OGQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJv
dmlkZXJVUG93ZXIuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAx
MiBJZ2FsaWEsIFMuTC4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXJf
aAorI2RlZmluZSBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXJfaAorCisjaWYgRU5BQkxFKEJBVFRFUllf
U1RBVFVTKQorCisjaW5jbHVkZSAiQmF0dGVyeUNsaWVudC5oIgorI2luY2x1ZGUgIkJhdHRlcnlT
dGF0dXMuaCIKKyNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPGxpYnVwb3dlci1nbGliL3Vw
b3dlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEJhdHRlcnlQcm92aWRlclVQb3dlckNsaWVudDsKKworY2xhc3Mg
QmF0dGVyeVByb3ZpZGVyVVBvd2VyIHsKK3B1YmxpYzoKKyAgICBCYXR0ZXJ5UHJvdmlkZXJVUG93
ZXIoQmF0dGVyeVByb3ZpZGVyVVBvd2VyQ2xpZW50Kik7CisgICAgfkJhdHRlcnlQcm92aWRlclVQ
b3dlcigpIHsgfQorCisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CisKKyAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8QmF0dGVyeVN0YXR1cz4pOwor
ICAgIEJhdHRlcnlTdGF0dXMqIGJhdHRlcnlTdGF0dXMoKSBjb25zdDsKKworcHJpdmF0ZToKKyAg
ICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8QmF0dGVyeVByb3ZpZGVyVVBvd2VyPiopOworICAgIEJh
dHRlcnlQcm92aWRlclVQb3dlckNsaWVudCogbV9jbGllbnQ7CisgICAgVGltZXI8QmF0dGVyeVBy
b3ZpZGVyVVBvd2VyPiBtX2xvYWREZXZpY2VzVGltZXI7CisgICAgUmVmUHRyPEJhdHRlcnlTdGF0
dXM+IG1fYmF0dGVyeVN0YXR1czsKKyAgICBVcENsaWVudCogbV91cENsaWVudDsKK307CisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShCQVRURVJZX1NUQVRVUykKKyNlbmRpZiAvLyBCYXR0ZXJ5UHJv
dmlkZXJVUG93ZXJfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51
eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2xpbnV4L0JhdHRlcnlQcm92aWRlclVQb3dlckNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlODcxNTI3
OGE2YjI5NmI0YWYxMWM2NzMxYWJkMjFmNDgxOTIwNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9CYXR0ZXJ5UHJvdmlkZXJVUG93ZXJDbGllbnQuaApA
QCAtMCwwICsxLDM5IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEsIFMuTC4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgQmF0dGVyeVByb3ZpZGVy
VVBvd2VyQ2xpZW50X2gKKyNkZWZpbmUgQmF0dGVyeVByb3ZpZGVyVVBvd2VyQ2xpZW50X2gKKwor
I2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykKKworI2luY2x1ZGUgIkJhdHRlcnlTdGF0dXMuaCIK
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXJDbGllbnQgeworcHVibGljOgorICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPEJhdHRlcnlTdGF0dXM+KSA9IDA7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCisKKyNlbmRp
ZiAvLyBCYXR0ZXJ5UHJvdmlkZXJVUG93ZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IGMwMTRhZGM3NGZkZjU3YWNkZWFjOTc4MGIwN2UwYTcxZjEyZDMyNGQu
Ljc1ZTQwMzU4N2VjOWU5MTYzY2NiMDQ0ZDcwNjNmOTI2MGRkYTExYWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTc1LDcgKzc1LDcgQEAKICNpbmNsdWRlICJDb2xvckNo
b29zZXIuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQorI2lmIEVOQUJM
RShCQVRURVJZX1NUQVRVUykgJiYgIVBMQVRGT1JNKEdUSykKICNpbmNsdWRlICJCYXR0ZXJ5Q29u
dHJvbGxlci5oIgogI2VuZGlmCiAKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEludGVybmFsczo6
c2V0QmF0dGVyeVN0YXR1cyhEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZXZlbnRU
eXBlLCBibwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKEJBVFRFUllfU1RB
VFVTKQorI2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykgJiYgIVBMQVRGT1JNKEdUSykKICAgICBC
YXR0ZXJ5Q29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC0+cGFnZSgpKS0+ZGlkQ2hhbmdlQmF0dGVy
eVN0YXR1cyhldmVudFR5cGUsIEJhdHRlcnlTdGF0dXM6OmNyZWF0ZShjaGFyZ2luZywgY2hhcmdp
bmdUaW1lLCBkaXNjaGFyZ2luZ1RpbWUsIGxldmVsKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJB
TShldmVudFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvR05VbWFrZWZpbGUu
YW0gYi9Tb3VyY2UvV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQppbmRleCBkYjZjOWIwYmM0ZDAw
YmRmZDg0NDE5NjE4YjVhMDhiZDU5MTIwY2Q3Li4wMTFmNDllZTE0ZGJhZWRlMTQyNTJlYjkzMGU3
OGM4M2JhZGJlZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5h
bQorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQpAQCAtMTA3LDYgKzEwNyw3
IEBAIGxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RL
X0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MSUJBCiAJJChXSU5NTV9MSUJTKSBcCiAJJChTSExXQVBJ
X0xJQlMpIFwKIAkkKE9MRTMyX0xJQlMpIFwKKwkkKFVQT1dFUl9MSUJTKSBcCiAJJChaTElCX0xJ
QlMpCiAKIHdlYmtpdGd0a19zdGF0aWNfaF9hcGkgKz0gXApAQCAtMTgzLDYgKzE4NCw4IEBAIHdl
YmtpdGd0a19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9B
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcCBcCiAJU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRDYWlyby5jcHAgXAog
CVNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
IFwKKwlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9CYXR0ZXJ5Q2xpZW50R3RrLmNw
cCBcCisJU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQmF0dGVyeUNsaWVudEd0ay5o
IFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3Bw
IFwKIAlTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBc
CiAJU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ29udGV4dE1lbnVDbGllbnRHdGsu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0JhdHRl
cnlDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQmF0dGVy
eUNsaWVudEd0ay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2YyZTRjMDQxMWRhMDYzOGM2OWFjNDY4MWI1N2U5
NmExMzE2NWYxZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0JhdHRlcnlDbGllbnRHdGsuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiAgQ29w
eXJpZ2h0IChDKSAyMDEyIElnYWxpYSwgUy5MLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkJhdHRlcnlDbGllbnRHdGsuaCIK
KworI2lmIEVOQUJMRShCQVRURVJZX1NUQVRVUykKKworI2luY2x1ZGUgIkJhdHRlcnlDb250cm9s
bGVyLmgiCisjaW5jbHVkZSAid2Via2l0d2Vidmlld3ByaXZhdGUuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK0JhdHRlcnlDbGllbnRHdGs6OkJhdHRlcnlDbGllbnRHdGsoV2ViS2l0V2ViVmll
dyogd2ViVmlldykKKyAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQorICAgICwgbV9wcm92aWRlcih0
aGlzKQoreworfQorCit2b2lkIEJhdHRlcnlDbGllbnRHdGs6OnN0YXJ0VXBkYXRpbmcoKQorewor
ICAgIG1fcHJvdmlkZXIuc3RhcnRVcGRhdGluZygpOworfQorCit2b2lkIEJhdHRlcnlDbGllbnRH
dGs6OnN0b3BVcGRhdGluZygpCit7CisgICAgbV9wcm92aWRlci5zdG9wVXBkYXRpbmcoKTsKK30K
Kwordm9pZCBCYXR0ZXJ5Q2xpZW50R3RrOjpiYXR0ZXJ5Q29udHJvbGxlckRlc3Ryb3llZCgpCit7
CisgICAgZGVsZXRlIHRoaXM7Cit9CisKK3ZvaWQgQmF0dGVyeUNsaWVudEd0azo6ZGlkQ2hhbmdl
QmF0dGVyeVN0YXR1cyhjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxX
ZWJDb3JlOjpCYXR0ZXJ5U3RhdHVzPiBzdGF0dXMpCit7CisgICAgV2ViQ29yZTo6QmF0dGVyeUNv
bnRyb2xsZXI6OmZyb20oY29yZShtX3dlYlZpZXcpKS0+ZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyhl
dmVudFR5cGUsIHN0YXR1cyk7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShCQVRURVJZX1NU
QVRVUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0JhdHRl
cnlDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0JhdHRlcnlD
bGllbnRHdGsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZGU4MTI2OTJjN2YyMjliMWFiMTcyOTk3N2E3NGZlZmZl
ZjM5YTM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQmF0dGVyeUNsaWVudEd0ay5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiAgQ29weXJpZ2h0
IChDKSAyMDEyIElnYWxpYSwgUy5MLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmln
aHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCisKKyNpZm5kZWYgQmF0dGVyeUNsaWVudEd0a19oCisjZGVmaW5lIEJhdHRlcnlDbGllbnRH
dGtfaAorCisjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQorCisjaW5jbHVkZSAiQmF0dGVyeUNs
aWVudC5oIgorI2luY2x1ZGUgIkJhdHRlcnlQcm92aWRlclVQb3dlci5oIgorI2luY2x1ZGUgIkJh
dHRlcnlQcm92aWRlclVQb3dlckNsaWVudC5oIgorI2luY2x1ZGUgIkJhdHRlcnlTdGF0dXMuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2Vi
VmlldyBXZWJLaXRXZWJWaWV3OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgQmF0dGVy
eUNsaWVudEd0ayA6IHB1YmxpYyBXZWJDb3JlOjpCYXR0ZXJ5Q2xpZW50LCBwdWJsaWMgV2ViQ29y
ZTo6QmF0dGVyeVByb3ZpZGVyVVBvd2VyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBC
YXR0ZXJ5Q2xpZW50R3RrKFdlYktpdFdlYlZpZXcqKTsKKworICAgIC8vIEJhdHRlcnlDbGllbnQg
aW50ZXJmYWNlLgorICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCk7CisgICAgdmlydHVh
bCB2b2lkIHN0b3BVcGRhdGluZygpOworICAgIHZpcnR1YWwgdm9pZCBiYXR0ZXJ5Q29udHJvbGxl
ckRlc3Ryb3llZCgpOworCitwcml2YXRlOgorICAgIC8vIEJhdHRlcnlQcm92aWRlclVQb3dlckNs
aWVudCBpbnRlcmZhY2UuCisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUJhdHRlcnlTdGF0dXMo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8V2ViQ29yZTo6QmF0dGVy
eVN0YXR1cz4pOworCisgICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OworCisgICAgV2ViQ29y
ZTo6QmF0dGVyeVByb3ZpZGVyVVBvd2VyIG1fcHJvdmlkZXI7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShCQVRURVJZX1NUQVRVUykKKworI2VuZGlmIC8v
IEJhdHRlcnlDbGllbnRHdGtfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCmluZGV4IGQwYzNlMGJiYjEzNWM0ODRhODQyYzc4ZDA1NWE4NWE1YjJlMTk1ZTEuLjky
ZTdkNDU3Yjg5YWM5ZGZhYzM4NjNhYmQ5NTMyZTVkYzNiNDgzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTExMyw2ICsxMTMsMTAgQEAKICNpbmNs
dWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgogCisjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQorI2luY2x1ZGUgIkJhdHRlcnlDbGllbnRH
dGsuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICNpbmNsdWRl
ICJEZXZpY2VNb3Rpb25DbGllbnRHdGsuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNs
aWVudEd0ay5oIgpAQCAtMzYzNyw2ICszNjQxLDEwIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
dmlld19pbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5h
dmlnYXRvckNvbnRlbnRVdGlsc1RvKHByaXYtPmNvcmVQYWdlLCBwcml2LT5uYXZpZ2F0b3JDb250
ZW50VXRpbHNDbGllbnQuZ2V0KCkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQkFUVEVSWV9TVEFU
VVMpCisgICAgV2ViQ29yZTo6cHJvdmlkZUJhdHRlcnlUbyhwcml2LT5jb3JlUGFnZSwgbmV3IFdl
YktpdDo6QmF0dGVyeUNsaWVudEd0ayh3ZWJWaWV3KSk7CisjZW5kaWYKKwogICAgIGlmIChEdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGs6OmR1bXBSZW5kZXJUcmVlTW9kZUVuYWJsZWQoKSkgewogICAg
ICAgICAvLyBTZXQgc29tZSB0ZXN0aW5nLXNwZWNpZmljIHNldHRpbmdzCiAgICAgICAgIHByaXYt
PmNvcmVQYWdlLT5zZXR0aW5ncygpLT5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxl
ZCh0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KaW5kZXggYmEwYWM2OTU1MzAxNjg1NDIzMTczZWFj
ODk5N2RjZGY4YzVkM2ZhOS4uNDg5YzgzYWZlOTMzYTcyZDRjNDg1YzdkM2Q1MjUwOTYwMDRjNWRj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNl
L1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTE4MCw2ICsxODAsNyBAQCBsaWJ3ZWJraXQyZ3Rr
X0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05AX2xhX0xJQgogCSQoUE5HX0xJQlMpIFwKIAkkKFNRTElURTNfTElCUykgXAogCSQoVU5JQ09E
RV9MSUJTKSBcCisJJChVUE9XRVJfTElCUykgXAogCSQoWFJFTkRFUl9MSUJTKSBcCiAJJChYQ09N
UE9TSVRFX0xJQlMpIFwKIAkkKFhUX0xJQlMpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGQ0MTdiNWY0NTdlZGNmZDI1OTE3YzFjNTNlNzk5Y2Y4NjJmMmY4MjQuLjA5MjJjYWRm
MGRjZTg2NTg3ZTE3NjJjYjNiYWYxN2I3ODM4NTYwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtNjE1LDYgKzYxNSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbS5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRCYWNrRm9yd2FyZExpc3RJ
dGVtLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0Zv
cndhcmRMaXN0UHJpdmF0ZS5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRCYXR0ZXJ5UHJvdmlkZXIuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRCYXR0ZXJ5UHJvdmlkZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnUuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudVByaXZhdGUuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRCYXR0ZXJ5UHJvdmlkZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmF0dGVyeVByb3ZpZGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZTlmYWEyMmI3NmU5MzIwZjBmYWQ4MzExOWVkZmQ5YWNiMWI4MTNlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
QmF0dGVyeVByb3ZpZGVyLmNwcApAQCAtMCwwICsxLDk0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0QmF0dGVyeVByb3ZpZGVyLmgiCisKKyNp
ZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCisKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNs
dWRlICJXS0JhdHRlcnlNYW5hZ2VyLmgiCisjaW5jbHVkZSAiV0tCYXR0ZXJ5U3RhdHVzLmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworc3Rh
dGljIGlubGluZSBXZWJLaXRCYXR0ZXJ5UHJvdmlkZXIqIHRvQmF0dGVyeVByb3ZpZGVyKGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYktpdEJhdHRl
cnlQcm92aWRlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKK30KKworc3RhdGlj
IHZvaWQgc3RhcnRVcGRhdGluZ0NhbGxiYWNrKFdLQmF0dGVyeU1hbmFnZXJSZWYgYmF0dGVyeU1h
bmFnZXIsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgdG9CYXR0ZXJ5UHJvdmlkZXIo
Y2xpZW50SW5mbyktPnN0YXJ0VXBkYXRpbmcoKTsKK30KKworc3RhdGljIHZvaWQgc3RvcFVwZGF0
aW5nQ2FsbGJhY2soV0tCYXR0ZXJ5TWFuYWdlclJlZiBiYXR0ZXJ5TWFuYWdlciwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbykKK3sKKyAgICB0b0JhdHRlcnlQcm92aWRlcihjbGllbnRJbmZvKS0+c3Rv
cFVwZGF0aW5nKCk7Cit9CisKK1dlYktpdEJhdHRlcnlQcm92aWRlcjo6fldlYktpdEJhdHRlcnlQ
cm92aWRlcigpCit7CisgICAgbV9wcm92aWRlci5zdG9wVXBkYXRpbmcoKTsKK30KKworUGFzc1Jl
ZlB0cjxXZWJLaXRCYXR0ZXJ5UHJvdmlkZXI+IFdlYktpdEJhdHRlcnlQcm92aWRlcjo6Y3JlYXRl
KFdLQmF0dGVyeU1hbmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlcikKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFdlYktpdEJhdHRlcnlQcm92aWRlcih3a0JhdHRlcnlNYW5hZ2VyKSk7Cit9CisK
K1dlYktpdEJhdHRlcnlQcm92aWRlcjo6V2ViS2l0QmF0dGVyeVByb3ZpZGVyKFdLQmF0dGVyeU1h
bmFnZXJSZWYgd2tCYXR0ZXJ5TWFuYWdlcikKKyAgICA6IG1fd2tCYXR0ZXJ5TWFuYWdlcih3a0Jh
dHRlcnlNYW5hZ2VyKQorICAgICwgbV9wcm92aWRlcih0aGlzKQoreworICAgIEFTU0VSVCh3a0Jh
dHRlcnlNYW5hZ2VyKTsKKworICAgIFdLQmF0dGVyeVByb3ZpZGVyIHdrQmF0dGVyeVByb3ZpZGVy
ID0geworICAgICAgICBrV0tCYXR0ZXJ5UHJvdmlkZXJDdXJyZW50VmVyc2lvbiwKKyAgICAgICAg
dGhpcywgLy8gY2xpZW50SW5mbworICAgICAgICBzdGFydFVwZGF0aW5nQ2FsbGJhY2ssCisgICAg
ICAgIHN0b3BVcGRhdGluZ0NhbGxiYWNrCisgICAgfTsKKyAgICBXS0JhdHRlcnlNYW5hZ2VyU2V0
UHJvdmlkZXIobV93a0JhdHRlcnlNYW5hZ2VyLmdldCgpLCAmd2tCYXR0ZXJ5UHJvdmlkZXIpOwor
fQorCit2b2lkIFdlYktpdEJhdHRlcnlQcm92aWRlcjo6c3RhcnRVcGRhdGluZygpCit7CisgICAg
bV9wcm92aWRlci5zdGFydFVwZGF0aW5nKCk7Cit9CisKK3ZvaWQgV2ViS2l0QmF0dGVyeVByb3Zp
ZGVyOjpzdG9wVXBkYXRpbmcoKQoreworICAgIG1fcHJvdmlkZXIuc3RvcFVwZGF0aW5nKCk7Cit9
CisKK3ZvaWQgV2ViS2l0QmF0dGVyeVByb3ZpZGVyOjpkaWRDaGFuZ2VCYXR0ZXJ5U3RhdHVzKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEJhdHRlcnlTdGF0dXM+IHN0
YXR1cykKK3sKKyAgICBXS1JldGFpblB0cjxXS0JhdHRlcnlTdGF0dXNSZWY+IHdrQmF0dGVyeVN0
YXR1cyhBZG9wdFdLLCBXS0JhdHRlcnlTdGF0dXNDcmVhdGUoc3RhdHVzLT5jaGFyZ2luZygpLCBz
dGF0dXMtPmNoYXJnaW5nVGltZSgpLCBzdGF0dXMtPmRpc2NoYXJnaW5nVGltZSgpLCBzdGF0dXMt
PmxldmVsKCkpKTsKKyAgICBXS0JhdHRlcnlNYW5hZ2VyUHJvdmlkZXJEaWRDaGFuZ2VCYXR0ZXJ5
U3RhdHVzKG1fd2tCYXR0ZXJ5TWFuYWdlci5nZXQoKSwgdG9BUEkoZXZlbnRUeXBlLmltcGwoKSks
IHdrQmF0dGVyeVN0YXR1cy5nZXQoKSk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoQkFUVEVSWV9T
VEFUVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRCYXR0ZXJ5UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdEJhdHRlcnlQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmMzMzMjk1Y2YwNzY1MTIxNGQ4MDkz
NTgwMGUwYjc1NzEwOGFiM2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRCYXR0ZXJ5UHJvdmlkZXIuaApAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdEJhdHRlcnlQcm92aWRlcl9oCisjZGVmaW5lIFdl
YktpdEJhdHRlcnlQcm92aWRlcl9oCisKKyNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCisKKyNp
bmNsdWRlICJCYXR0ZXJ5UHJvdmlkZXJVUG93ZXIuaCIKKyNpbmNsdWRlICJCYXR0ZXJ5UHJvdmlk
ZXJVUG93ZXJDbGllbnQuaCIKKyNpbmNsdWRlICJCYXR0ZXJ5U3RhdHVzLmgiCisjaW5jbHVkZSAi
V0tSZXRhaW5QdHIuaCIKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisKK2NsYXNzIFdlYktpdEJhdHRlcnlQcm92aWRlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYktpdEJhdHRlcnlQcm92aWRlcj4sIHB1YmxpYyBXZWJDb3JlOjpCYXR0ZXJ5
UHJvdmlkZXJVUG93ZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfldlYktpdEJhdHRl
cnlQcm92aWRlcigpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdEJhdHRlcnlQcm92aWRl
cj4gY3JlYXRlKFdLQmF0dGVyeU1hbmFnZXJSZWYpOworCisgICAgdm9pZCBzdGFydFVwZGF0aW5n
KCk7CisgICAgdm9pZCBzdG9wVXBkYXRpbmcoKTsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRCYXR0
ZXJ5UHJvdmlkZXIoV0tCYXR0ZXJ5TWFuYWdlclJlZik7CisKKyAgICAvLyBCYXR0ZXJ5UHJvdmlk
ZXJVUG93ZXJDbGllbnQgaW50ZXJmYWNlLgorICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VCYXR0
ZXJ5U3RhdHVzKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPFdlYkNv
cmU6OkJhdHRlcnlTdGF0dXM+KTsKKworICAgIFdLUmV0YWluUHRyPFdLQmF0dGVyeU1hbmFnZXJS
ZWY+IG1fd2tCYXR0ZXJ5TWFuYWdlcjsKKyAgICBXZWJDb3JlOjpCYXR0ZXJ5UHJvdmlkZXJVUG93
ZXIgbV9wcm92aWRlcjsKK307CisKKyNlbmRpZiAvLyBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCisK
KyNlbmRpZiAvLyBXZWJLaXRCYXR0ZXJ5UHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCBlOTIzMWU0
N2I0NjkzN2RhZDFlMTY2MDM1Y2M0ZTQ0NWQ3MGY0MWZiLi5iZDZjNGQwMWJjNzkxODQxZmU0ZmY1
YzQzZDgxMDk5MDIyN2RiZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1
ZGUgIldlYktpdFdlYkNvbnRleHQuaCIKIAogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKKyNpbmNs
dWRlICJXZWJLaXRCYXR0ZXJ5UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJLaXRDb29raWVNYW5h
Z2VyUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdERvd25sb2FkQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiV2ViS2l0RG93bmxvYWRQcml2YXRlLmgiCkBAIC0xMDEsNiArMTAyLDkgQEAgc3RydWN0IF9X
ZWJLaXRXZWJDb250ZXh0UHJpdmF0ZSB7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQogICAgIFJl
ZlB0cjxXZWJLaXRHZW9sb2NhdGlvblByb3ZpZGVyPiBnZW9sb2NhdGlvblByb3ZpZGVyOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQorICAgIFJlZlB0cjxXZWJLaXRCYXR0ZXJ5
UHJvdmlkZXI+IGJhdHRlcnlQcm92aWRlcjsKKyNlbmRpZgogI2lmIEVOQUJMRShTUEVMTENIRUNL
KQogICAgIE93blB0cjxXZWJLaXRUZXh0Q2hlY2tlcj4gdGV4dENoZWNrZXI7CiAjZW5kaWYKQEAg
LTE1Myw2ICsxNTcsMTIgQEAgc3RhdGljIGdwb2ludGVyIGNyZWF0ZURlZmF1bHRXZWJDb250ZXh0
KGdwb2ludGVyKQogICAgIHdlYkNvbnRleHQtPnByaXYtPmNvbnRleHQgPSBXS0NvbnRleHRDcmVh
dGUoKTsKICAgICB3ZWJDb250ZXh0LT5wcml2LT5yZXF1ZXN0TWFuYWdlciA9IFdLQ29udGV4dEdl
dFNvdXBSZXF1ZXN0TWFuYWdlcih3ZWJDb250ZXh0LT5wcml2LT5jb250ZXh0LmdldCgpKTsKICAg
ICBXS0NvbnRleHRTZXRDYWNoZU1vZGVsKHdlYkNvbnRleHQtPnByaXYtPmNvbnRleHQuZ2V0KCks
IGtXS0NhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nlcik7CisKKyNpZiBFTkFCTEUoQkFUVEVSWV9T
VEFUVVMpCisgICAgV0tCYXR0ZXJ5TWFuYWdlclJlZiB3a0JhdHRlcnlNYW5hZ2VyID0gV0tDb250
ZXh0R2V0QmF0dGVyeU1hbmFnZXIod2ViQ29udGV4dC0+cHJpdi0+Y29udGV4dC5nZXQoKSk7Cisg
ICAgd2ViQ29udGV4dC0+cHJpdi0+YmF0dGVyeVByb3ZpZGVyID0gV2ViS2l0QmF0dGVyeVByb3Zp
ZGVyOjpjcmVhdGUod2tCYXR0ZXJ5TWFuYWdlcik7CisjZW5kaWYKKwogICAgIGF0dGFjaERvd25s
b2FkQ2xpZW50VG9Db250ZXh0KHdlYkNvbnRleHQuZ2V0KCkpOwogICAgIGF0dGFjaFJlcXVlc3RN
YW5hZ2VyQ2xpZW50VG9Db250ZXh0KHdlYkNvbnRleHQuZ2V0KCkpOwogI2lmIEVOQUJMRShHRU9M
T0NBVElPTikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA1MzYwOWUyZTNlY2ExMWUyM2NjMDk2MzY0MWRmM2ZjNjM5NmY3MDYwLi41NjdlOTI1MzFm
NDUxYjM4ZGY2MmE2N2ZjMzY5OTgzMmY2MDE5YTdjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMDQgIEpv
c8OpIERhcGVuYSBQYXogIDxqZGFwZW5hQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0d0a10gQWRk
IEJhdHRlcnkgU3RhdHVzIEFQSSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NTU4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGltcGxlbWVudGF0aW9uIGZvciBCYXR0ZXJ5IFN0YXR1
cyBBUEkgYmFzZWQgb24gVVBvd2VyLWdsaWIKKyAgICAgICAgb24gR3RrIHBvcnQuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAgICAgICogZ3RrL2po
YnVpbGQubW9kdWxlczogYWRkZWQgVVBvd2VyLWdsaWIgZGVwZW5kZW5jeS4KKwogMjAxMi0wOS0w
MyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0g
Q2hhbmdlIHRoZSBmb2N1cyB3aGVuIHRoZSB3ZWIgdmlldyBpcyBjbGlja2VkIGluIE1pbmlCcm93
c2VyIGFuZCBFV2ViTGF1bmNoZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bQppbmRleCA5ZTEzZmI2ZGIwNGZkNTkwMTkyODllMzIwMjJkNWY0MGRjYjc4N2ZmLi5iNGY0ZTY0
ZDdlZjdlMDllNTI5OWE5YmJmOTVmMGJkOTg1ZmUwNzgxIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xNTAsNyArMTUwLDcgQEAgbXkgQGZlYXR1cmVzID0gKAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQU5JTUFUSU9OX0FQSSIsIGRlZmF1bHQgPT4gKGlzQmxh
Y2tCZXJyeSgpIHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJGFuaW1hdGlvbkFQSVN1cHBvcnQgfSwK
IAogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0
ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RB
VFVTIiwgZGVmYXVsdCA9PiAoaXNFZmwoKSB8fCBpc0JsYWNrQmVycnkoKSksIHZhbHVlID0+IFwk
YmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllf
U1RBVFVTIiwgZGVmYXVsdCA9PiAoaXNFZmwoKSB8fCBpc0d0aygpIHx8IGlzQmxhY2tCZXJyeSgp
KSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4g
ImJsb2IiLCBkZXNjID0+ICJUb2dnbGUgQmxvYiBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0JMT0IiLCBkZWZhdWx0ID0+IChpc0FwcGxlTWFjV2ViS2l0KCkgfHwgaXNHdGsoKSB8
fCBpc0Nocm9taXVtKCkgfHwgaXNCbGFja0JlcnJ5KCkgfHwgaXNFZmwoKSksIHZhbHVlID0+IFwk
YmxvYlN1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9U
b29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IGQ2YzQyNTcyNmQ1OTBlZDM2M2U1OTY2OTVl
YTg3MWU4Y2RkMjQxMTkuLjQ5NWJhNDVhMzU2YmYzYzdkYzM0OGQ3MmNjNGM1OGU4Yjg4NGNkODUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2po
YnVpbGQubW9kdWxlcwpAQCAtMTksNiArMTksNyBAQAogICAgICAgPGRlcCBwYWNrYWdlPSJsaWJz
b3VwIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImF0LXNwaTItY29yZSIvPgogICAgICAgPGRlcCBw
YWNrYWdlPSJhdC1zcGkyLWF0ayIvPgorICAgICAgPGRlcCBwYWNrYWdlPSJ1cG93ZXIiLz4KICAg
ICA8L2RlcGVuZGVuY2llcz4KICAgPC9tZXRhbW9kdWxlPgogCkBAIC0zNiw2ICszNyw4IEBACiAg
ICAgICBocmVmPSJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmciLz4KICAgPHJlcG9zaXRvcnkgdHlw
ZT0idGFyYmFsbCIgbmFtZT0iZnJlZWRlc2t0b3Aub3JnIgogICAgICAgaHJlZj0iaHR0cDovL3d3
dy5mcmVlZGVza3RvcC5vcmciLz4KKyAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0i
dXBvd2VyLmZyZWVkZXNrdG9wLm9yZyIKKyAgICAgIGhyZWY9Imh0dHA6Ly91cG93ZXIuZnJlZWRl
c2t0b3Aub3JnIi8+CiAKICAgPGF1dG90b29scyBpZD0ibWFrZSIgYXV0b2dlbi1zaD0iY29uZmln
dXJlIj4KICAgICA8YnJhbmNoIHJlcG89ImZ0cC5nbnUub3JnIgpAQCAtMjIzLDQgKzIyNiwxMiBA
QAogICAgIDwvZGVwZW5kZW5jaWVzPgogICA8L2F1dG90b29scz4KIAorICA8YXV0b3Rvb2xzIGlk
PSJ1cG93ZXIiIGF1dG9nZW4tc2g9ImNvbmZpZ3VyZSI+CisgICAgPGJyYW5jaCBtb2R1bGU9InJl
bGVhc2VzL3Vwb3dlci0wLjkuMTMudGFyLnh6IiB2ZXJzaW9uPSIwLjkuMTMiCisgICAgICAgICAg
ICByZXBvPSJ1cG93ZXIuZnJlZWRlc2t0b3Aub3JnIgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2
OjJjN2RkMmMyNmQxMWRhNjI4ZDY4MTExZDUwZWVkNTEyNDRhODMzN2MxZDA4MzBhZGRlY2QxMzcy
YTdkNDRhMjIiCisJICAgIG1kNXN1bT0iMjZkMmRjNTNmYzYzMmMxZjYyMjM0Y2MyMTcxNWMzZTEi
PgorICAgIDwvYnJhbmNoPgorICA8L2F1dG90b29scz4KKwogPC9tb2R1bGVzZXQ+CmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOGUyZmRlMzI2NThlNjhiNTRkODBkZWI4
YmZjODRjNDM3YWIxN2U4MC4uYjQ4ZWQ5ODExZDY5YzIwODUxOTk4YTYxMGNmN2YwNTk4NTZlMzAz
YiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEyLTA5LTA0ICBKb3PDqSBEYXBlbmEgUGF6ICA8amRhcGVuYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHdGtdIEFkZCBCYXR0ZXJ5IFN0YXR1cyBBUEkgc3VwcG9ydAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1ODIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBpbXBsZW1lbnRhdGlvbiBm
b3IgQmF0dGVyeSBTdGF0dXMgQVBJIGJhc2VkIG9uIFVQb3dlci1nbGliCisgICAgICAgIG9uIEd0
ayBwb3J0LgorCisgICAgICAgICogY29uZmlndXJlLmFjOgorCiAyMDEyLTA5LTAzICBKaW53b28g
U29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBVc2UgV2Vi
S2l0VmVyc2lvbi5oIHRvIGdldCB2ZXJzaW9uIGluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9jb25m
aWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggOTBiNDhlMzJkMjhlNTU1MWM3NzAyYzQ5ZGUz
NjEyOGU0YWNhYzkzMi4uOWU5Zjg4ZjczZmY1ZTdiYTZkYmNiY2QyNDM0MmVlYzA2Nzg0Njc4ZSAx
MDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTExNiw2ICsx
MTE2LDE0IEBAIEFDX0FSR19FTkFCTEUoZGV2aWNlX29yaWVudGF0aW9uLAogICAgICAgICAgICAg
ICBbXSxbZW5hYmxlX2RldmljZV9vcmllbnRhdGlvbj0ibm8iXSkKIEFDX01TR19SRVNVTFQoWyRl
bmFibGVfZGV2aWNlX29yaWVudGF0aW9uXSkKIAorIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBC
YXR0ZXJ5IFN0YXR1cyBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxl
IEJhdHRlcnkgU3RhdHVzXSkKK0FDX0FSR19FTkFCTEUoYmF0dGVyeV9zdGF0dXMsCisgICAgICAg
ICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1iYXR0ZXJ5LXN0YXR1c10sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgc3VwcG9ydCBmb3IgQmF0dGVyeSBTdGF0dXMg
W2RlZmF1bHQ9eWVzXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2JhdHRlcnlfc3RhdHVz
PSJ5ZXMiXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfYmF0dGVyeV9zdGF0dXNdKQorCiAjIGNo
ZWNrIHdoZXRoZXIgdG8gZW5hYmxlIFRleHQgQXV0b3NpemluZyBzdXBwb3J0CiBBQ19NU0dfQ0hF
Q0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIFRleHQgQXV0b3NpemluZ10pCiBBQ19BUkdfRU5BQkxF
KHRleHRfYXV0b3NpemluZywKQEAgLTEzMjcsNiArMTMzNSwxMyBAQCBpZiB0ZXN0ICIkZW5hYmxl
X2dhbWVwYWQiID0gInllcyI7IHRoZW4KICAgIEFDX1NVQlNUKEdBTUVQQURfTElCUykKIGZpCiAK
K2lmIHRlc3QgIiRlbmFibGVfYmF0dGVyeV9zdGF0dXMiID0gInllcyI7IHRoZW4KKyAgIFBLR19D
SEVDS19NT0RVTEVTKFtVUE9XRVJdLCBbdXBvd2VyLWdsaWJdKQorCisgICBBQ19TVUJTVChVUE9X
RVJfQ0ZMQUdTKQorICAgQUNfU1VCU1QoVVBPV0VSX0xJQlMpCitmaQorCiAjIGNoZWNrIGZvciBj
b2RlIGNvdmVyYWdlIHN1cHBvcnQKIGlmIHRlc3QgIiRlbmFibGVfY292ZXJhZ2UiID0gInllcyI7
IHRoZW4KICAgIENPVkVSQUdFX0NGTEFHUz0iLU1EIgpAQCAtMTQ4Nyw2ICsxNTAyLDcgQEAgQU1f
Q09ORElUSU9OQUwoW0VOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRV0sW3Rlc3QgIiRlbmFi
bGVfcmVxdWVzdF9hbmltYXRpb24KIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HXSxbdGVzdCAiJGVuYWJsZV90b3VjaF9pY29uX2xvYWRpbmciID0gInllcyJdKQogQU1f
Q09ORElUSU9OQUwoW0VOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMU10sW3Rlc3QgIiRlbmFi
bGVfbmF2aWdhdG9yX2NvbnRlbnRfdXRpbHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT05dLFt0ZXN0ICIkZW5hYmxlX2RldmljZV9vcmllbnRhdGlv
biIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX0JBVFRFUllfU1RBVFVTXSxbdGVz
dCAiJGVuYWJsZV9iYXR0ZXJ5X3N0YXR1cyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX01VVEFUSU9OX09CU0VSVkVSU10sW3Rlc3QgIiRlbmFibGVfbXV0YXRpb25fb2JzZXJ2ZXJz
IiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSUZSQU1FX1NFQU1MRVNTXSxbdGVz
dCAiJGVuYWJsZV9pZnJhbWVfc2VhbWxlc3MiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VO
QUJMRV9URVhUX0FVVE9TSVpJTkddLFt0ZXN0ICIkZW5hYmxlX3RleHRfYXV0b3NpemluZyIgPSAi
eWVzIl0pCkBAIC0xNTQ5LDYgKzE1NjUsNyBAQCBGZWF0dXJlczoKID09PT09PT0KICBBY2NlbGVy
YXRlZCBDb21wb3NpdGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFi
bGVfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmcKICBBbmltYXRpb24gQVBJICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfYW5pbWF0aW9uX2FwaQorIEJh
dHRlcnkgU3RhdHVzIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
JGVuYWJsZV9iYXR0ZXJ5X3N0YXR1cwogIEJsb2Igc3VwcG9ydCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9ibG9iCiAgQ1NTIENvbXBvc2l0aW5n
IHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2Nzc19j
b21wb3NpdGluZwogIENTUyBFeGNsdXNpb25zIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV9jc3NfZXhjbHVzaW9ucwo=
</data>
<flag name="review"
          id="173055"
          type_id="1"
          status="-"
          setter="pnormand"
    />
    <flag name="commit-queue"
          id="173063"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>