<?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>59720</bug_id>
          
          <creation_ts>2011-04-28 11:43:36 -0700</creation_ts>
          <short_desc>[chromium] Add a WebPermissionClient to be used for checking permissions of features</short_desc>
          <delta_ts>2011-04-28 15:52:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Abd-El-Malek">jam</reporter>
          <assigned_to name="John Abd-El-Malek">jam</assigned_to>
          <cc>abarth</cc>
    
    <cc>dcheng</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>394614</commentid>
    <comment_count>0</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-04-28 11:43:36 -0700</bug_when>
    <thetext>[chromium] Add a WebPermissionClient to be used for checking permissions of features</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394618</commentid>
    <comment_count>1</comment_count>
      <attachid>91530</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-04-28 11:44:18 -0700</bug_when>
    <thetext>Created attachment 91530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394633</commentid>
    <comment_count>2</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-04-28 11:50:22 -0700</bug_when>
    <thetext>This is a follow-up to 59264.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394767</commentid>
    <comment_count>3</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-04-28 14:42:02 -0700</bug_when>
    <thetext>Committed r85241: &lt;http://trac.webkit.org/changeset/85241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394838</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-28 15:52:35 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/85241 might have broken WinCE Release (Build)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91530</attachid>
            <date>2011-04-28 11:44:18 -0700</date>
            <delta_ts>2011-04-28 12:49:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59720-20110428114255.patch</filename>
            <type>text/plain</type>
            <size>21040</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4NTIxNSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTMg
QEAKKzIwMTEtMDQtMjggIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1d
IEFkZCBhIFdlYlBlcm1pc3Npb25DbGllbnQgdG8gYmUgdXNlZCBmb3IgY2hlY2tpbmcgcGVybWlz
c2lvbnMgb2YgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5NzIwCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWVDbGllbnQuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OmFsbG93UGx1Z2lucyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWROb3RBbGxvd1BsdWdpbnMpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUNsaWVudDo6YWxsb3dJbWFnZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUNsaWVudDo6YWxsb3dTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVu
dDo6YWxsb3dEYXRhYmFzZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWRO
b3RBbGxvd1NjcmlwdCk6CisgICAgICAgICogcHVibGljL1dlYlBlcm1pc3Npb25DbGllbnQuaDog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25DbGllbnQ6OmFsbG93RGF0YWJh
c2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ2xpZW50OjphbGxvd0ltYWdlcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25DbGllbnQ6OmFsbG93UGx1Z2lucyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBlcm1pc3Npb25DbGllbnQ6OmFsbG93U2NyaXB0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNsaWVudDo6YWxsb3dTY3JpcHRFeHRlbnNpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ2xpZW50OjphbGxvd1JlYWRGcm9tQ2xpcGJv
YXJkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNsaWVudDo6YWxsb3dXcml0ZVRv
Q2xpcGJvYXJkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNsaWVudDo6ZGlkTm90
QWxsb3dQbHVnaW5zKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGVybWlzc2lvbkNsaWVudDo6ZGlk
Tm90QWxsb3dTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQZXJtaXNzaW9uQ2xpZW50Ojp+
V2ViUGVybWlzc2lvbkNsaWVudCk6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAg
ICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xp
ZW50OjpkaWRFbmRFZGl0aW5nKToKKyAgICAgICAgKiBzcmMvRGF0YWJhc2VPYnNlcnZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU9ic2VydmVyOjpjYW5Fc3RhYmxpc2hEYXRhYmFz
ZSk6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpFZGl0b3JDbGllbnRJbXBsOjp0b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZyk6CisgICAg
ICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OmNhbkNvcHlDdXQpOgorICAgICAgICAoV2Vi
S2l0OjpFZGl0b3JDbGllbnRJbXBsOjpjYW5QYXN0ZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9h
ZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1w
bDo6YWxsb3dTY3JpcHRFeHRlbnNpb24pOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNs
aWVudEltcGw6OmFsbG93SmF2YVNjcmlwdCk6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVy
Q2xpZW50SW1wbDo6YWxsb3dQbHVnaW5zKToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJD
bGllbnRJbXBsOjphbGxvd0ltYWdlcyk6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xp
ZW50SW1wbDo6ZGlkTm90QWxsb3dTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRl
ckNsaWVudEltcGw6OmRpZE5vdEFsbG93UGx1Z2lucyk6CisgICAgICAgICogc3JjL1dlYkZyYW1l
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6ZW5hYmxlQ29udGludW91
c1NwZWxsQ2hlY2tpbmcpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRBdXRvRmlsbENsaWVudCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjpzZXRQZXJtaXNzaW9uQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBlcm1pc3Npb25DbGllbnQpOgorCiAyMDEx
LTA0LTI3ICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lQ2xpZW50LmgJKHJldmlzaW9uIDg1MTMyKQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAz
LDE5ICsxMDMsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBmcmFtZSBpcyBhYm91dCB0byBiZSBj
bG9zZWQuCiAgICAgdmlydHVhbCB2b2lkIHdpbGxDbG9zZShXZWJGcmFtZSopIHsgfQogCi0gICAg
Ly8gQ29udHJvbHMgd2hldGhlciBwbHVnaW5zIGFyZSBhbGxvd2VkIGZvciB0aGlzIGZyYW1lLgot
ICAgIHZpcnR1YWwgYm9vbCBhbGxvd1BsdWdpbnMoV2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJT
ZXR0aW5ncykgeyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9Ci0KLSAgICAvLyBOb3RpZmll
cyB0aGUgY2xpZW50IHRoYXQgdGhlIGZyYW1lIHdvdWxkIGhhdmUgaW5zdGFudGlhdGVkIGEgcGx1
Zy1pbiBpZiBwbHVnLWlucyB3ZXJlIGVuYWJsZWQuCi0gICAgdmlydHVhbCB2b2lkIGRpZE5vdEFs
bG93UGx1Z2lucyhXZWJGcmFtZSopIHsgfQotCi0gICAgLy8gQ29udHJvbHMgd2hldGhlciBpbWFn
ZXMgYXJlIGFsbG93ZWQgZm9yIHRoaXMgZnJhbWUuCi0gICAgdmlydHVhbCBib29sIGFsbG93SW1h
Z2VzKFdlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQ
ZXJTZXR0aW5nczsgfQotCi0gICAgLy8gTm90aWZpZXMgdGhlIGNsaWVudCB0aGF0IGNvbnRpbnVv
dXMgc3BlbGwgY2hlY2tpbmcgaGFzIGJlZW4gZW5hYmxlZCBvcgotICAgIC8vIGRpc2FibGVkLgot
ICAgIHZpcnR1YWwgdm9pZCBkaWRUb2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZyhXZWJGcmFt
ZSopIHsgfQotCiAgICAgLy8gTG9hZCBjb21tYW5kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAvLyBUaGUgY2xpZW50IHNob3Vs
ZCBoYW5kbGUgdGhlIG5hdmlnYXRpb24gZXh0ZXJuYWxseS4KQEAgLTI5MiwxNSArMjc5LDYgQEAg
cHVibGljOgogCiAgICAgLy8gU2NyaXB0IG5vdGlmaWNhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLSAgICAvLyBDb250cm9scyB3aGV0aGVy
IHNjcmlwdHMgYXJlIGFsbG93ZWQgdG8gZXhlY3V0ZSBmb3IgdGhpcyBmcmFtZS4KLSAgICB2aXJ0
dWFsIGJvb2wgYWxsb3dTY3JpcHQoV2ViRnJhbWUqLCBib29sIGVuYWJsZWRQZXJTZXR0aW5ncykg
eyByZXR1cm4gZW5hYmxlZFBlclNldHRpbmdzOyB9Ci0KLSAgICAvLyBDb250cm9scyB3aGV0aGVy
IGFjY2VzcyB0byBXZWIgRGF0YWJhc2VzIGlzIGFsbG93ZWQgZm9yIHRoaXMgZnJhbWUuCi0gICAg
dmlydHVhbCBib29sIGFsbG93RGF0YWJhc2UoV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIG5h
bWUsIGNvbnN0IFdlYlN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVk
U2l6ZSkgeyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgLy8gTm90aWZpZXMgdGhlIGNsaWVudCB0aGF0
IHRoZSBmcmFtZSB3b3VsZCBoYXZlIGV4ZWN1dGVkIHNjcmlwdCBpZiBzY3JpcHQgd2VyZSBlbmFi
bGVkLgotICAgIHZpcnR1YWwgdm9pZCBkaWROb3RBbGxvd1NjcmlwdChXZWJGcmFtZSopIHsgfQot
CiAgICAgLy8gU2NyaXB0IGluIHRoZSBwYWdlIHRyaWVkIHRvIGFsbG9jYXRlIHRvbyBtdWNoIG1l
bW9yeS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRXhoYXVzdE1lbW9yeUF2YWlsYWJsZUZvclNjcmlw
dChXZWJGcmFtZSopIHsgfQogCkBAIC0zMTYsMTEgKzI5NCwxMyBAQCBwdWJsaWM6CiAgICAgLy8g
c2NyaXB0cy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlSXNvbGF0ZWRTY3JpcHRDb250ZXh0
KFdlYkZyYW1lKikgeyB9CiAKLSAgICAvLyBDb250cm9scyB3aGV0aGVyIHRoZSBnaXZlbiBzY3Jp
cHQgZXh0ZW5zaW9uIHNob3VsZCBydW4gaW4gYSBuZXcgc2NyaXB0Ci0gICAgLy8gY29udGV4dCBp
biB0aGlzIGZyYW1lLiBJZiBleHRlbnNpb25Hcm91cCBpcyAwLCB0aGUgc2NyaXB0IGNvbnRleHQg
aXMgdGhlCi0gICAgLy8gZnJhbWUncyBtYWluIGNvbnRleHQuIE90aGVyd2lzZSwgaXQgaXMgYSBj
b250ZXh0IGNyZWF0ZWQgYnkKLSAgICAvLyBXZWJGcmFtZTo6ZXhlY3V0ZVNjcmlwdEluSXNvbGF0
ZWRXb3JsZCB3aXRoIHRoYXQgc2FtZSBleHRlbnNpb25Hcm91cAotICAgIC8vIHZhbHVlLgorICAg
IC8vIEZJWE1FKGphbSk6IHJlbW92ZSBtZSBvbmNlIENocm9tZSdzIFdlYktpdCBpcyByb2xsZWQu
CisgICAgdmlydHVhbCBib29sIGFsbG93UGx1Z2lucyhXZWJGcmFtZSosIGJvb2wgZW5hYmxlZFBl
clNldHRpbmdzKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGlkTm90QWxsb3dQbHVnaW5zKFdlYkZyYW1lKikgeyB9CisgICAgdmlydHVhbCBib29sIGFs
bG93SW1hZ2VzKFdlYkZyYW1lKiwgYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVu
YWJsZWRQZXJTZXR0aW5nczsgfQorICAgIHZpcnR1YWwgYm9vbCBhbGxvd1NjcmlwdChXZWJGcmFt
ZSosIGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dEYXRhYmFzZShXZWJGcmFtZSosIGNvbnN0IFdlYlN0
cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBl
c3RpbWF0ZWRTaXplKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCB2b2lkIGRpZE5vdEFs
bG93U2NyaXB0KFdlYkZyYW1lKikgeyB9CiAgICAgdmlydHVhbCBib29sIGFsbG93U2NyaXB0RXh0
ZW5zaW9uKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJiBleHRlbnNpb25OYW1lLCBpbnQgZXh0
ZW5zaW9uR3JvdXApIHsgcmV0dXJuIHRydWU7IH0KIAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJQZXJtaXNzaW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUGVybWlzc2lvbkNsaWVudC5oCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUGVybWlzc2lvbkNsaWVudC5o
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJQZXJtaXNzaW9uQ2xpZW50
X2gKKyNkZWZpbmUgV2ViUGVybWlzc2lvbkNsaWVudF9oCisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBXZWJGcmFtZTsKK2NsYXNzIFdlYlN0cmluZzsKKworY2xhc3MgV2ViUGVybWlzc2lv
bkNsaWVudCB7CitwdWJsaWM6CisgICAgLy8gQ29udHJvbHMgd2hldGhlciBhY2Nlc3MgdG8gV2Vi
IERhdGFiYXNlcyBpcyBhbGxvd2VkIGZvciB0aGlzIGZyYW1lLgorICAgIHZpcnR1YWwgYm9vbCBh
bGxvd0RhdGFiYXNlKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJT
dHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpIHsgcmV0dXJu
IHRydWU7IH0KKworICAgIC8vIENvbnRyb2xzIHdoZXRoZXIgaW1hZ2VzIGFyZSBhbGxvd2VkIGZv
ciB0aGlzIGZyYW1lLgorICAgIHZpcnR1YWwgYm9vbCBhbGxvd0ltYWdlcyhXZWJGcmFtZSosIGJv
b2wgZW5hYmxlZFBlclNldHRpbmdzKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KKwor
ICAgIC8vIENvbnRyb2xzIHdoZXRoZXIgcGx1Z2lucyBhcmUgYWxsb3dlZCBmb3IgdGhpcyBmcmFt
ZS4KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dQbHVnaW5zKFdlYkZyYW1lKiwgYm9vbCBlbmFibGVk
UGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQorCisgICAgLy8gQ29u
dHJvbHMgd2hldGhlciBzY3JpcHRzIGFyZSBhbGxvd2VkIHRvIGV4ZWN1dGUgZm9yIHRoaXMgZnJh
bWUuCisgICAgdmlydHVhbCBib29sIGFsbG93U2NyaXB0KFdlYkZyYW1lKiwgYm9vbCBlbmFibGVk
UGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJTZXR0aW5nczsgfQorCisgICAgLy8gQ29u
dHJvbHMgd2hldGhlciB0aGUgZ2l2ZW4gc2NyaXB0IGV4dGVuc2lvbiBzaG91bGQgcnVuIGluIGEg
bmV3IHNjcmlwdAorICAgIC8vIGNvbnRleHQgaW4gdGhpcyBmcmFtZS4gSWYgZXh0ZW5zaW9uR3Jv
dXAgaXMgMCwgdGhlIHNjcmlwdCBjb250ZXh0IGlzIHRoZQorICAgIC8vIGZyYW1lJ3MgbWFpbiBj
b250ZXh0LiBPdGhlcndpc2UsIGl0IGlzIGEgY29udGV4dCBjcmVhdGVkIGJ5CisgICAgLy8gV2Vi
RnJhbWU6OmV4ZWN1dGVTY3JpcHRJbklzb2xhdGVkV29ybGQgd2l0aCB0aGF0IHNhbWUgZXh0ZW5z
aW9uR3JvdXAKKyAgICAvLyB2YWx1ZS4KKyAgICB2aXJ0dWFsIGJvb2wgYWxsb3dTY3JpcHRFeHRl
bnNpb24oV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIGV4dGVuc2lvbk5hbWUsIGludCBleHRl
bnNpb25Hcm91cCkgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgLy8gQ29udHJvbHMgd2hldGhlciBh
Y2Nlc3MgdG8gcmVhZCB0aGUgY2xpcGJvYXJkIGlzIGFsbG93ZWQgZm9yIHRoaXMgZnJhbWUuCisg
ICAgdmlydHVhbCBib29sIGFsbG93UmVhZEZyb21DbGlwYm9hcmQoV2ViRnJhbWUqLCBib29sIGRl
ZmF1bHRWYWx1ZSkgeyByZXR1cm4gZGVmYXVsdFZhbHVlOyB9CisKKyAgICAvLyBDb250cm9scyB3
aGV0aGVyIGFjY2VzcyB0byB3cml0ZSB0aGUgY2xpcGJvYXJkIGlzIGFsbG93ZWQgZm9yIHRoaXMg
ZnJhbWUuCisgICAgdmlydHVhbCBib29sIGFsbG93V3JpdGVUb0NsaXBib2FyZChXZWJGcmFtZSos
IGJvb2wgZGVmYXVsdFZhbHVlKSB7IHJldHVybiBkZWZhdWx0VmFsdWU7IH0KKworICAgIC8vIE5v
dGlmaWVzIHRoZSBjbGllbnQgdGhhdCB0aGUgZnJhbWUgd291bGQgaGF2ZSBpbnN0YW50aWF0ZWQg
YSBwbHVnLWluIGlmIHBsdWctaW5zIHdlcmUgZW5hYmxlZC4KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Tm90QWxsb3dQbHVnaW5zKFdlYkZyYW1lKikgeyB9CisKKyAgICAvLyBOb3RpZmllcyB0aGUgY2xp
ZW50IHRoYXQgdGhlIGZyYW1lIHdvdWxkIGhhdmUgZXhlY3V0ZWQgc2NyaXB0IGlmIHNjcmlwdCB3
ZXJlIGVuYWJsZWQuCisgICAgdmlydHVhbCB2b2lkIGRpZE5vdEFsbG93U2NyaXB0KFdlYkZyYW1l
KikgeyB9CisKK3Byb3RlY3RlZDoKKyAgICB+V2ViUGVybWlzc2lvbkNsaWVudCgpIHsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2aXNpb24gODM3NTUpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcg
QEAgY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJGcmFtZUNsaWVudDsKIGNsYXNzIFdlYkdyYXBo
aWNzQ29udGV4dDNEOwogY2xhc3MgV2ViTm9kZTsKK2NsYXNzIFdlYlBlcm1pc3Npb25DbGllbnQ7
CiBjbGFzcyBXZWJTZXR0aW5nczsKIGNsYXNzIFdlYlNwZWxsQ2hlY2tDbGllbnQ7CiBjbGFzcyBX
ZWJTdHJpbmc7CkBAIC05Myw4ICs5NCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5p
dGlhbGl6ZU1haW5GcmFtZShXZWJGcmFtZUNsaWVudCopID0gMDsKIAogICAgIC8vIEluaXRpYWxp
emVzIHRoZSB2YXJpb3VzIGNsaWVudCBpbnRlcmZhY2VzLgotICAgIHZpcnR1YWwgdm9pZCBzZXRE
ZXZUb29sc0FnZW50Q2xpZW50KFdlYkRldlRvb2xzQWdlbnRDbGllbnQqKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHNldEF1dG9GaWxsQ2xpZW50KFdlYkF1dG9GaWxsQ2xpZW50KikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBzZXREZXZUb29sc0FnZW50Q2xpZW50KFdlYkRldlRvb2xzQWdlbnRDbGll
bnQqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFBlcm1pc3Npb25DbGllbnQoV2ViUGVybWlz
c2lvbkNsaWVudCopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3BlbGxDaGVja0NsaWVudChX
ZWJTcGVsbENoZWNrQ2xpZW50KikgPSAwOwogCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHJldmlzaW9uIDg1MTMyKQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjQsOSArMTY0LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250
ZW50cygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRFeGVjdXRlQ29tbWFuZChjb25zdCBXZWJT
dHJpbmcmIGNvbW1hbmROYW1lKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygp
IHsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5UcmlnZ2VyQ2xpcGJvYXJkUmVhZChjb25zdCBXZWJV
UkwmKSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5UcmlnZ2VyQ2xpcGJv
YXJkV3JpdGUoY29uc3QgV2ViVVJMJikgeyByZXR1cm4gZmFsc2U7IH0KLQogCiAgICAgLy8gVGhp
cyBtZXRob2QgaXMgY2FsbGVkIGluIHJlc3BvbnNlIHRvIFdlYlZpZXcncyBoYW5kbGVJbnB1dEV2
ZW50KCkKICAgICAvLyB3aGVuIHRoZSBkZWZhdWx0IGFjdGlvbiBmb3IgdGhlIGN1cnJlbnQga2V5
Ym9hcmQgZXZlbnQgaXMgbm90CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRh
YmFzZU9ic2VydmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9EYXRhYmFzZU9ic2VydmVyLmNwcAkocmV2aXNpb24gODM3NTUpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAs
NyArNDAsOSBAQAogI2luY2x1ZGUgIldlYkRhdGFiYXNlT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJX
ZWJGcmFtZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgorI2luY2x1ZGUgIldl
YlBlcm1pc3Npb25DbGllbnQuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgorI2lu
Y2x1ZGUgIldlYlZpZXdJbXBsLmgiCiAjaW5jbHVkZSAiV2ViV29ya2VySW1wbC5oIgogI2luY2x1
ZGUgIldvcmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKQEAgLTU2LDYg
KzU4LDEwIEBAIGJvb2wgRGF0YWJhc2VPYnNlcnZlcjo6Y2FuRXN0YWJsaXNoRGF0YWIKICAgICBp
ZiAoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNEb2N1bWVudCgpKSB7CiAgICAgICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk7CiAgICAgICAgIFdlYkZyYW1lSW1wbCogd2ViRnJhbWUgPSBXZWJGcmFtZUltcGw6OmZy
b21GcmFtZShkb2N1bWVudC0+ZnJhbWUoKSk7CisgICAgICAgIFdlYlZpZXdJbXBsKiB3ZWJWaWV3
ID0gd2ViRnJhbWUtPnZpZXdJbXBsKCk7CisgICAgICAgIGlmICh3ZWJWaWV3LT5wZXJtaXNzaW9u
Q2xpZW50KCkpCisgICAgICAgICAgICByZXR1cm4gd2ViVmlldy0+cGVybWlzc2lvbkNsaWVudCgp
LT5hbGxvd0RhdGFiYXNlKHdlYkZyYW1lLCBuYW1lLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6
ZSk7CisgICAgICAgIC8vIEZJWE1FKGphbSk6IHJlbW92ZSB0aGlzLgogICAgICAgICByZXR1cm4g
d2ViRnJhbWUtPmNsaWVudCgpLT5hbGxvd0RhdGFiYXNlKHdlYkZyYW1lLCBuYW1lLCBkaXNwbGF5
TmFtZSwgZXN0aW1hdGVkU2l6ZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgV29ya2VyQ29udGV4
dCogd29ya2VyQ29udGV4dCA9IHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihzY3JpcHRFeGVj
dXRpb25Db250ZXh0KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNs
aWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Vk
aXRvckNsaWVudEltcGwuY3BwCShyZXZpc2lvbiA4NTEzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1
Myw3IEBACiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaCIKICNpbmNsdWRlICJX
ZWJOb2RlLmgiCiAjaW5jbHVkZSAiV2ViUGFzc3dvcmRBdXRvY29tcGxldGVMaXN0ZW5lci5oIgor
I2luY2x1ZGUgIldlYlBlcm1pc3Npb25DbGllbnQuaCIKICNpbmNsdWRlICJXZWJSYW5nZS5oIgog
I2luY2x1ZGUgIldlYlNwZWxsQ2hlY2tDbGllbnQuaCIKICNpbmNsdWRlICJXZWJUZXh0QWZmaW5p
dHkuaCIKQEAgLTE2NSwxMSArMTY2LDYgQEAgdm9pZCBFZGl0b3JDbGllbnRJbXBsOjp0b2dnbGVD
b250aW51b3VzUwogICAgICAgICBtX3NwZWxsQ2hlY2tUaGlzRmllbGRTdGF0dXMgPSBTcGVsbENo
ZWNrRm9yY2VkT2ZmOwogICAgIGVsc2UKICAgICAgICAgbV9zcGVsbENoZWNrVGhpc0ZpZWxkU3Rh
dHVzID0gU3BlbGxDaGVja0ZvcmNlZE9uOwotCi0gICAgV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSA9
IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKAotICAgICAgICBtX3dlYlZpZXctPmZvY3VzZWRXZWJD
b3JlRnJhbWUoKSk7Ci0gICAgaWYgKHdlYmZyYW1lKQotICAgICAgICB3ZWJmcmFtZS0+Y2xpZW50
KCktPmRpZFRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKHdlYmZyYW1lKTsKIH0KIAogYm9v
bCBFZGl0b3JDbGllbnRJbXBsOjppc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQoKQpAQCAtMzIyLDEy
ICszMTgsMTYgQEAgdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpjbGVhclVuZG9SZWRvT3BlcgogCiBi
b29sIEVkaXRvckNsaWVudEltcGw6OmNhbkNvcHlDdXQoRnJhbWUqIGZyYW1lLCBib29sIGRlZmF1
bHRWYWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gKG1fd2ViVmlldy0+Y2xpZW50KCkgJiYgbV93
ZWJWaWV3LT5jbGllbnQoKS0+Y2FuVHJpZ2dlckNsaXBib2FyZFJlYWQoZnJhbWUtPmRvY3VtZW50
KCktPnVybCgpKSkgfHwgZGVmYXVsdFZhbHVlOworICAgIGlmICghbV93ZWJWaWV3LT5wZXJtaXNz
aW9uQ2xpZW50KCkpCisgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisgICAgcmV0dXJuIG1f
d2ViVmlldy0+cGVybWlzc2lvbkNsaWVudCgpLT5hbGxvd1JlYWRGcm9tQ2xpcGJvYXJkKFdlYkZy
YW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1lKSwgZGVmYXVsdFZhbHVlKTsKIH0KIAogYm9vbCBFZGl0
b3JDbGllbnRJbXBsOjpjYW5QYXN0ZShGcmFtZSogZnJhbWUsIGJvb2wgZGVmYXVsdFZhbHVlKSBj
b25zdAogewotICAgIHJldHVybiAobV93ZWJWaWV3LT5jbGllbnQoKSAmJiBtX3dlYlZpZXctPmNs
aWVudCgpLT5jYW5UcmlnZ2VyQ2xpcGJvYXJkV3JpdGUoZnJhbWUtPmRvY3VtZW50KCktPnVybCgp
KSkgfHwgZGVmYXVsdFZhbHVlOworICAgIGlmICghbV93ZWJWaWV3LT5wZXJtaXNzaW9uQ2xpZW50
KCkpCisgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisgICAgcmV0dXJuIG1fd2ViVmlldy0+
cGVybWlzc2lvbkNsaWVudCgpLT5hbGxvd1dyaXRlVG9DbGlwYm9hcmQoV2ViRnJhbWVJbXBsOjpm
cm9tRnJhbWUoZnJhbWUpLCBkZWZhdWx0VmFsdWUpOwogfQogCiBib29sIEVkaXRvckNsaWVudElt
cGw6OmNhblVuZG8oKSBjb25zdApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJh
bWVMb2FkZXJDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCShyZXZpc2lvbiA4NTEzMikKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJXZWJLaXRDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJNaW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJXZWJOb2RlLmgiCisjaW5jbHVk
ZSAiV2ViUGVybWlzc2lvbkNsaWVudC5oIgogI2luY2x1ZGUgIldlYlBsdWdpbi5oIgogI2luY2x1
ZGUgIldlYlBsdWdpbkNvbnRhaW5lckltcGwuaCIKICNpbmNsdWRlICJXZWJQbHVnaW5Mb2FkT2Jz
ZXJ2ZXIuaCIKQEAgLTE1Myw5ICsxNTQsMTUgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6
OmRpZENyZWF0ZUlzbwogYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFsbG93U2NyaXB0RXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uTmFtZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXh0ZW5zaW9uR3JvdXApCiB7CisgICAg
V2ViVmlld0ltcGwqIHdlYnZpZXcgPSBtX3dlYkZyYW1lLT52aWV3SW1wbCgpOworICAgIGlmICh3
ZWJ2aWV3ICYmIHdlYnZpZXctPnBlcm1pc3Npb25DbGllbnQoKSkKKyAgICAgICAgcmV0dXJuIHdl
YnZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+YWxsb3dTY3JpcHRFeHRlbnNpb24obV93ZWJGcmFt
ZSwgZXh0ZW5zaW9uTmFtZSwgZXh0ZW5zaW9uR3JvdXApOworCisgICAgLy8gRklYTUUoamFtKTog
cmVtb3ZlIHRoaXMuCiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQogICAgICAgICByZXR1
cm4gbV93ZWJGcmFtZS0+Y2xpZW50KCktPmFsbG93U2NyaXB0RXh0ZW5zaW9uKG1fd2ViRnJhbWUs
IGV4dGVuc2lvbk5hbWUsIGV4dGVuc2lvbkdyb3VwKTsKLSAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpZFBlcmZv
cm1GaXJzdE5hdmlnYXRpb24oKSBjb25zdApAQCAtMTc0LDYgKzE4MSwxMSBAQCB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlU2NyCiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRJ
bXBsOjphbGxvd0phdmFTY3JpcHQoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpCiB7CisgICAgV2Vi
Vmlld0ltcGwqIHdlYnZpZXcgPSBtX3dlYkZyYW1lLT52aWV3SW1wbCgpOworICAgIGlmICh3ZWJ2
aWV3ICYmIHdlYnZpZXctPnBlcm1pc3Npb25DbGllbnQoKSkKKyAgICAgICAgd2Vidmlldy0+cGVy
bWlzc2lvbkNsaWVudCgpLT5hbGxvd1NjcmlwdChtX3dlYkZyYW1lLCBlbmFibGVkUGVyU2V0dGlu
Z3MpOworCisgICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIHRoaXMuCiAgICAgaWYgKG1fd2ViRnJh
bWUtPmNsaWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJGcmFtZS0+Y2xpZW50KCktPmFsbG93
U2NyaXB0KG1fd2ViRnJhbWUsIGVuYWJsZWRQZXJTZXR0aW5ncyk7CiAKQEAgLTE4Miw2ICsxOTQs
MTEgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFsbG93SmF2YVNjcgogCiBib29sIEZy
YW1lTG9hZGVyQ2xpZW50SW1wbDo6YWxsb3dQbHVnaW5zKGJvb2wgZW5hYmxlZFBlclNldHRpbmdz
KQogeworICAgIFdlYlZpZXdJbXBsKiB3ZWJ2aWV3ID0gbV93ZWJGcmFtZS0+dmlld0ltcGwoKTsK
KyAgICBpZiAod2VidmlldyAmJiB3ZWJ2aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCkpCisgICAgICAg
IHdlYnZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+YWxsb3dQbHVnaW5zKG1fd2ViRnJhbWUsIGVu
YWJsZWRQZXJTZXR0aW5ncyk7CisKKyAgICAvLyBGSVhNRShqYW0pOiByZW1vdmUgdGhpcy4KICAg
ICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCiAgICAgICAgIHJldHVybiBtX3dlYkZyYW1lLT5j
bGllbnQoKS0+YWxsb3dQbHVnaW5zKG1fd2ViRnJhbWUsIGVuYWJsZWRQZXJTZXR0aW5ncyk7CiAK
QEAgLTE5MCw2ICsyMDcsMTEgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmFsbG93UGx1
Z2lucwogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6YWxsb3dJbWFnZXMoYm9vbCBlbmFi
bGVkUGVyU2V0dGluZ3MpCiB7CisgICAgV2ViVmlld0ltcGwqIHdlYnZpZXcgPSBtX3dlYkZyYW1l
LT52aWV3SW1wbCgpOworICAgIGlmICh3ZWJ2aWV3ICYmIHdlYnZpZXctPnBlcm1pc3Npb25DbGll
bnQoKSkKKyAgICAgICAgd2Vidmlldy0+cGVybWlzc2lvbkNsaWVudCgpLT5hbGxvd0ltYWdlcyht
X3dlYkZyYW1lLCBlbmFibGVkUGVyU2V0dGluZ3MpOworCisgICAgLy8gRklYTUUoamFtKTogcmVt
b3ZlIHRoaXMuCiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQogICAgICAgICByZXR1cm4g
bV93ZWJGcmFtZS0+Y2xpZW50KCktPmFsbG93SW1hZ2VzKG1fd2ViRnJhbWUsIGVuYWJsZWRQZXJT
ZXR0aW5ncyk7CiAKQEAgLTE5OCwxMiArMjIwLDIyIEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRJ
bXBsOjphbGxvd0ltYWdlcygKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpZE5vdEFs
bG93U2NyaXB0KCkKIHsKKyAgICBXZWJWaWV3SW1wbCogd2VidmlldyA9IG1fd2ViRnJhbWUtPnZp
ZXdJbXBsKCk7CisgICAgaWYgKHdlYnZpZXcgJiYgd2Vidmlldy0+cGVybWlzc2lvbkNsaWVudCgp
KQorICAgICAgICB3ZWJ2aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCktPmRpZE5vdEFsbG93U2NyaXB0
KG1fd2ViRnJhbWUpOworCisgICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIHRoaXMuCiAgICAgaWYg
KG1fd2ViRnJhbWUtPmNsaWVudCgpKQogICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+ZGlk
Tm90QWxsb3dTY3JpcHQobV93ZWJGcmFtZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJ
bXBsOjpkaWROb3RBbGxvd1BsdWdpbnMoKQogeworICAgIFdlYlZpZXdJbXBsKiB3ZWJ2aWV3ID0g
bV93ZWJGcmFtZS0+dmlld0ltcGwoKTsKKyAgICBpZiAod2VidmlldyAmJiB3ZWJ2aWV3LT5wZXJt
aXNzaW9uQ2xpZW50KCkpCisgICAgICAgIHdlYnZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+ZGlk
Tm90QWxsb3dQbHVnaW5zKG1fd2ViRnJhbWUpOworCisgICAgLy8gRklYTUUoamFtKTogcmVtb3Zl
IHRoaXMuCiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQogICAgICAgICBtX3dlYkZyYW1l
LT5jbGllbnQoKS0+ZGlkTm90QWxsb3dQbHVnaW5zKG1fd2ViRnJhbWUpOwogfQpJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCShyZXZpc2lvbiA4NTEz
MikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEyNzQsOSArMTI3NCw2IEBAIHZvaWQgV2ViRnJhbWVJbXBsOjplbmFibGVD
b250aW51b3VzU3BlbGwKIHsKICAgICBpZiAoZW5hYmxlID09IGlzQ29udGludW91c1NwZWxsQ2hl
Y2tpbmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAvLyBOb3RlLCB0aGUgZWRpdG9y
IHdpbGwgd2lsbCBub3RpZnkgdGhlIGNsaWVudCB0aGF0IHRoZSBjb250aW51b3VzIHNwZWxsCi0g
ICAgLy8gY2hlY2tpbmcgc3RhdGUgaGFzIGNoYW5nZWQgYnkgY2FsbGluZwotICAgIC8vIFdlYkZy
YW1lQ2xpZW50OjpkaWRUb2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZygpLgogICAgIGZyYW1l
KCktPmVkaXRvcigpLT50b2dnbGVDb250aW51b3VzU3BlbGxDaGVja2luZygpOwogfQogCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCShyZXZpc2lvbiA4
NTEzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjczLDYgKzI3MywxMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjppbml0aWFs
aXplTWFpbkZyYW1lKFdlCiAgICAgU2VjdXJpdHlPcmlnaW46OnNldExvY2FsTG9hZFBvbGljeShT
ZWN1cml0eU9yaWdpbjo6QWxsb3dMb2NhbExvYWRzRm9yTG9jYWxPbmx5KTsKIH0KIAordm9pZCBX
ZWJWaWV3SW1wbDo6c2V0QXV0b0ZpbGxDbGllbnQoV2ViQXV0b0ZpbGxDbGllbnQqIGF1dG9GaWxs
Q2xpZW50KQoreworICAgIG1fYXV0b0ZpbGxDbGllbnQgPSBhdXRvRmlsbENsaWVudDsKK30KKwog
dm9pZCBXZWJWaWV3SW1wbDo6c2V0RGV2VG9vbHNBZ2VudENsaWVudChXZWJEZXZUb29sc0FnZW50
Q2xpZW50KiBkZXZUb29sc0NsaWVudCkgCiB7CiAgICAgaWYgKGRldlRvb2xzQ2xpZW50KQpAQCAt
MjgxLDkgKzI4Niw5IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldERldlRvb2xzQWdlbnRDbGllbnQK
ICAgICAgICAgbV9kZXZUb29sc0FnZW50LmNsZWFyKCk7CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6
OnNldEF1dG9GaWxsQ2xpZW50KFdlYkF1dG9GaWxsQ2xpZW50KiBhdXRvRmlsbENsaWVudCkKK3Zv
aWQgV2ViVmlld0ltcGw6OnNldFBlcm1pc3Npb25DbGllbnQoV2ViUGVybWlzc2lvbkNsaWVudCog
cGVybWlzc2lvbkNsaWVudCkKIHsKLSAgICBtX2F1dG9GaWxsQ2xpZW50ID0gYXV0b0ZpbGxDbGll
bnQ7CisgICAgbV9wZXJtaXNzaW9uQ2xpZW50ID0gcGVybWlzc2lvbkNsaWVudDsKIH0KIAogdm9p
ZCBXZWJWaWV3SW1wbDo6c2V0U3BlbGxDaGVja0NsaWVudChXZWJTcGVsbENoZWNrQ2xpZW50KiBz
cGVsbENoZWNrQ2xpZW50KQpAQCAtMjk0LDYgKzI5OSw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNl
dFNwZWxsQ2hlY2tDbGllbnQoV2UKIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xp
ZW50KiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2F1dG9GaWxsQ2xp
ZW50KDApCisgICAgLCBtX3Blcm1pc3Npb25DbGllbnQoMCkKICAgICAsIG1fc3BlbGxDaGVja0Ns
aWVudCgwKQogICAgICwgbV9jaHJvbWVDbGllbnRJbXBsKHRoaXMpCiAgICAgLCBtX2NvbnRleHRN
ZW51Q2xpZW50SW1wbCh0aGlzKQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCShyZXZpc2lvbiA4NTEzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw4ICsxMTcsOSBAQCBwdWJsaWM6
CiAKICAgICAvLyBXZWJWaWV3IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVN
YWluRnJhbWUoV2ViRnJhbWVDbGllbnQqKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RGV2VG9vbHNB
Z2VudENsaWVudChXZWJEZXZUb29sc0FnZW50Q2xpZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIHNl
dEF1dG9GaWxsQ2xpZW50KFdlYkF1dG9GaWxsQ2xpZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHNl
dERldlRvb2xzQWdlbnRDbGllbnQoV2ViRGV2VG9vbHNBZ2VudENsaWVudCopOworICAgIHZpcnR1
YWwgdm9pZCBzZXRQZXJtaXNzaW9uQ2xpZW50KFdlYlBlcm1pc3Npb25DbGllbnQqKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0U3BlbGxDaGVja0NsaWVudChXZWJTcGVsbENoZWNrQ2xpZW50Kik7CiAg
ICAgdmlydHVhbCBXZWJTZXR0aW5ncyogc2V0dGluZ3MoKTsKICAgICB2aXJ0dWFsIFdlYlN0cmlu
ZyBwYWdlRW5jb2RpbmcoKSBjb25zdDsKQEAgLTIyNSw2ICsyMjYsMTEgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gbV9hdXRvRmlsbENsaWVudDsKICAgICB9CiAKKyAgICBXZWJQZXJtaXNzaW9u
Q2xpZW50KiBwZXJtaXNzaW9uQ2xpZW50KCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX3Blcm1p
c3Npb25DbGllbnQ7CisgICAgfQorCiAgICAgV2ViU3BlbGxDaGVja0NsaWVudCogc3BlbGxDaGVj
a0NsaWVudCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV9zcGVsbENoZWNrQ2xpZW50OwpAQCAt
NDE0LDYgKzQyMCw3IEBAIHByaXZhdGU6CiAKICAgICBXZWJWaWV3Q2xpZW50KiBtX2NsaWVudDsK
ICAgICBXZWJBdXRvRmlsbENsaWVudCogbV9hdXRvRmlsbENsaWVudDsKKyAgICBXZWJQZXJtaXNz
aW9uQ2xpZW50KiBtX3Blcm1pc3Npb25DbGllbnQ7CiAgICAgV2ViU3BlbGxDaGVja0NsaWVudCog
bV9zcGVsbENoZWNrQ2xpZW50OwogCiAgICAgQ2hyb21lQ2xpZW50SW1wbCBtX2Nocm9tZUNsaWVu
dEltcGw7Cg==
</data>
<flag name="review"
          id="84373"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>