<?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>57396</bug_id>
          
          <creation_ts>2011-03-29 15:55:10 -0700</creation_ts>
          <short_desc>[chromium]: Remove the code that called WebViewClient for spelling now that chromium is updated</short_desc>
          <delta_ts>2011-03-30 12:26:57 -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>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375830</commentid>
    <comment_count>0</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-03-29 15:55:10 -0700</bug_when>
    <thetext>[chromium]: Remove the code that called WebViewClient for spelling now that chromium is updated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375840</commentid>
    <comment_count>1</comment_count>
      <attachid>87423</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-03-29 15:59:37 -0700</bug_when>
    <thetext>Created attachment 87423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375858</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-29 16:18:55 -0700</bug_when>
    <thetext>Attachment 87423 did not build on chromium:
Build output: http://queues.webkit.org/results/8284537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375869</commentid>
    <comment_count>3</comment_count>
      <attachid>87428</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-03-29 16:32:46 -0700</bug_when>
    <thetext>Created attachment 87428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375877</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-29 16:44:01 -0700</bug_when>
    <thetext>Attachment 87428 did not build on chromium:
Build output: http://queues.webkit.org/results/8282578</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375908</commentid>
    <comment_count>5</comment_count>
      <attachid>87437</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-03-29 17:05:37 -0700</bug_when>
    <thetext>Created attachment 87437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375916</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-29 17:16:12 -0700</bug_when>
    <thetext>Attachment 87437 did not build on chromium:
Build output: http://queues.webkit.org/results/8284564</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376085</commentid>
    <comment_count>7</comment_count>
      <attachid>87472</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-03-30 00:00:51 -0700</bug_when>
    <thetext>Created attachment 87472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376418</commentid>
    <comment_count>8</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-30 09:57:55 -0700</bug_when>
    <thetext>+morrita just as an FYI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376591</commentid>
    <comment_count>9</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-03-30 12:26:57 -0700</bug_when>
    <thetext>Committed r82481: &lt;http://trac.webkit.org/changeset/82481&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87423</attachid>
            <date>2011-03-29 15:59:37 -0700</date>
            <delta_ts>2011-03-29 16:32:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57396-20110329155859.patch</filename>
            <type>text/plain</type>
            <size>13386</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjM0MikKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTEtMDMtMjkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1d
OiBSZW1vdmUgdGhlIGNvZGUgdGhhdCBjYWxsZWQgV2ViVmlld0NsaWVudCBmb3Igc3BlbGxpbmcg
bm93IHRoYXQgY2hyb21pdW0gaXMgdXBkYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczOTYKKworICAgICAgICAqIERFUFM6CisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAg
KiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50
OjpoYW5kbGVDdXJyZW50S2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpjaGVja1NwZWxs
aW5nT2ZTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXF1ZXN0
Q2hlY2tpbmdPZlN0cmluZyk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6Omdl
dEF1dG9Db3JyZWN0U3VnZ2VzdGlvbkZvck1pc3NwZWxsZWRXb3JkKToKKyAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6
CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnNob3dTcGVsbGluZ1VJKToKKyAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZyk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6
Y3JlYXRlKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckJhc2U6OmluaXRpYWxp
emVMb2FkZXIpOgorICAgICAgICAqIHRlc3RzL1BvcHVwTWVudVRlc3QuY3BwOgorICAgICAgICAo
V2ViS2l0OjpTZWxlY3RQb3B1cE1lbnVUZXN0OjpTZXRVcCk6CisgICAgICAgICogdGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0
cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlU2Vy
aWFsaXplclRlc3Q6OlNldFVwKToKKwogMjAxMS0wMy0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjgyMjkzLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9ERVBTCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUwkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0RFUFMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAog
dmFycyA9IHsKICAgJ2Nocm9taXVtX3N2bic6ICdodHRwOi8vc3JjLmNocm9taXVtLm9yZy9zdm4v
dHJ1bmsvc3JjJywKLSAgJ2Nocm9taXVtX3Jldic6ICc3OTcxMCcKKyAgJ2Nocm9taXVtX3Jldic6
ICc3OTc1OScKIH0KIAogZGVwcyA9IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw5ICs3Myw2IEBAIHN0cnVj
dCBXZWJTaXplOwogc3RydWN0IFdlYlVSTExvYWRlck9wdGlvbnM7CiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gY2xhc3MgV2ViVmVjdG9yOwogCi0vLyBGSVhNRShqYW0pOiB0YWtlIHRoaXMgb3V0IG9u
Y2UgQ2hyb21pdW0gaGFzIHRoaXMKLSNkZWZpbmUgV0VCRlJBTUVfUFJJTlRCRUdJTl9UQUtFU19O
T0RFCi0KIGNsYXNzIFdlYkZyYW1lIHsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgbGl2ZSBXZWJGcmFtZSBvYmplY3RzLCB1c2VkIGZvciBsZWFrIGNoZWNraW5nLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2aXNpb24gODIzMTEp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDEwICs4NCw3IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGVzIGEgV2ViVmlldyB0
aGF0IGlzIE5PVCB5ZXQgaW5pdGlhbGl6ZWQuICBZb3Ugd2lsbCBuZWVkIHRvCiAgICAgLy8gY2Fs
bCBpbml0aWFsaXplTWFpbkZyYW1lIHRvIGZpbmlzaCB0aGUgaW5pdGlhbGl6YXRpb24uICBJdCBp
cyB2YWxpZAogICAgIC8vIHRvIHBhc3MgbnVsbCBjbGllbnQgcG9pbnRlcnMuCi0gICAgLy8gRklY
TUUoamFtKTogdGFrZSBvdXQgZGVmYXVsdCBwYXJhbWV0ZXJzIG9uY2UgY2hyb21pdW0gc3RvcHMg
cGFzc2luZyB0aGVtLgotICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYlZpZXcqIGNyZWF0ZShXZWJW
aWV3Q2xpZW50KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRGV2
VG9vbHNBZ2VudENsaWVudCogPSAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXZWJBdXRvRmlsbENsaWVudCogPSAwKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyBXZWJW
aWV3KiBjcmVhdGUoV2ViVmlld0NsaWVudCopOwogCiAgICAgLy8gQWZ0ZXIgY3JlYXRpbmcgYSBX
ZWJWaWV3LCB5b3Ugc2hvdWxkIGltbWVkaWF0ZWx5IGNhbGwgdGhpcyBtZXRob2QuCiAgICAgLy8g
WW91IGNhbiBvcHRpb25hbGx5IG1vZGlmeSB0aGUgc2V0dGluZ3MgYmVmb3JlIGNhbGxpbmcgdGhp
cyBtZXRob2QuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
d0NsaWVudC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBjbGFz
cyBXZWJSYW5nZTsKIGNsYXNzIFdlYlNwZWVjaElucHV0Q29udHJvbGxlcjsKIGNsYXNzIFdlYlNw
ZWVjaElucHV0TGlzdGVuZXI7CiBjbGFzcyBXZWJTdG9yYWdlTmFtZXNwYWNlOwotY2xhc3MgV2Vi
VGV4dENoZWNraW5nQ29tcGxldGlvbjsKIGNsYXNzIFdlYlVSTDsKIGNsYXNzIFdlYlVSTFJlcXVl
c3Q7CiBjbGFzcyBXZWJWaWV3OwpAQCAtMTcwLDMzICsxNjksNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGhhbmRsZUN1cnJlbnRLZXlib2FyZEV2ZW50KCkgeyByZXR1cm4gZmFsc2U7IH0K
IAogCi0gICAgLy8gU3BlbGxjaGVja2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2Ug
Y2hyb21pdW0gaXMgdXBkYXRlZCB0byB1c2UgV2ViU3BlbGxDaGVja0NsaWVudAotCi0gICAgLy8g
VGhlIGNsaWVudCBzaG91bGQgcGVyZm9ybSBzcGVsbC1jaGVja2luZyBvbiB0aGUgZ2l2ZW4gdGV4
dC4gIElmIHRoZQotICAgIC8vIHRleHQgY29udGFpbnMgYSBtaXNzcGVsbGVkIHdvcmQsIHRoZW4g
dXBvbiByZXR1cm4gbWlzc3BlbGxlZE9mZnNldAotICAgIC8vIHdpbGwgcG9pbnQgdG8gdGhlIHN0
YXJ0IG9mIHRoZSBtaXNzcGVsbGVkIHdvcmQsIGFuZCBtaXNzcGVsbGVkTGVuZ3RoCi0gICAgLy8g
d2lsbCBpbmRpY2F0ZXMgaXRzIGxlbmd0aC4gIE90aGVyd2lzZSwgaWYgdGhlcmUgd2FzIG5vdCBh
IHNwZWxsaW5nCi0gICAgLy8gZXJyb3IsIHRoZW4gdXBvbiByZXR1cm4gbWlzc3BlbGxlZExlbmd0
aCBpcyAwLgotICAgIHZpcnR1YWwgdm9pZCBzcGVsbENoZWNrKAotICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIHRleHQsIGludCYgbWlzc3BlbGxlZE9mZnNldCwgaW50JiBtaXNzcGVsbGVkTGVuZ3Ro
KSB7IH0KLSAgICAvLyBSZXF1ZXN0cyBhc3luY2hyb25vdXMgc3BlbGxpbmcgYW5kIGdyYW1tYXIg
Y2hlY2tpbmcsIHdob3NlIHJlc3VsdCBzaG91bGQgYmUKLSAgICAvLyByZXR1cm5lZCBieSBwYXNz
ZWQgY29tcGxldGlvbiBvYmplY3QuCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09m
VGV4dChjb25zdCBXZWJTdHJpbmcmLCBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uKikgeyB9Ci0g
ICAgLy8gQ29tcHV0ZXMgYW4gYXV0by1jb3JyZWN0ZWQgcmVwbGFjZW1lbnQgZm9yIGEgbWlzc3Bl
bGxlZCB3b3JkLiAgSWYgbm8KLSAgICAvLyByZXBsYWNlbWVudCBpcyBmb3VuZCwgdGhlbiBhbiBl
bXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuCi0gICAgdmlydHVhbCBXZWJTdHJpbmcgYXV0b0NvcnJl
Y3RXb3JkKGNvbnN0IFdlYlN0cmluZyYgbWlzc3BlbGxlZFdvcmQpIHsgcmV0dXJuIFdlYlN0cmlu
ZygpOyB9Ci0KLSAgICAvLyBTaG93IG9yIGhpZGUgdGhlIHNwZWxsaW5nIFVJLgotICAgIHZpcnR1
YWwgdm9pZCBzaG93U3BlbGxpbmdVSShib29sIHNob3cpIHsgfQotCi0gICAgLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBzcGVsbGluZyBVSSBpcyBzaG93aW5nLgotICAgIHZpcnR1YWwgYm9vbCBpc1No
b3dpbmdTcGVsbGluZ1VJKCkgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIC8vIFVwZGF0ZSB0aGUg
c3BlbGxpbmcgVUkgd2l0aCB0aGUgZ2l2ZW4gd29yZC4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
U3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChjb25zdCBXZWJTdHJpbmcmIHdvcmQpIHsgfQot
Ci0KICAgICAvLyBEaWFsb2dzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFRoaXMgbWV0aG9kIHJldHVybnMgaW1t
ZWRpYXRlbHkgYWZ0ZXIgc2hvd2luZyB0aGUgZGlhbG9nLiBXaGVuIHRoZQpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9u
IDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg1NywxMSArODU3LDggQEAgdm9pZCBFZGl0b3JDbGllbnRJ
bXBsOjpjaGVja1NwZWxsaW5nT2ZTdAogICAgIGludCBzcGVsbExlbmd0aCA9IDA7CiAKICAgICAv
LyBDaGVjayB0byBzZWUgaWYgdGhlIHByb3ZpZGVkIHRleHQgaXMgc3BlbGxlZCBjb3JyZWN0bHku
Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAg
aWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93ZWJWaWV3LT5zcGVs
bENoZWNrQ2xpZW50KCkpCiAgICAgICAgIG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpLT5z
cGVsbENoZWNrKFdlYlN0cmluZyh0ZXh0LCBsZW5ndGgpLCBzcGVsbExvY2F0aW9uLCBzcGVsbExl
bmd0aCk7Ci0gICAgaWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93
ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+c3BlbGxDaGVj
ayhXZWJTdHJpbmcodGV4dCwgbGVuZ3RoKSwgc3BlbGxMb2NhdGlvbiwgc3BlbGxMZW5ndGgpOwog
ICAgIGVsc2UgewogICAgICAgICBzcGVsbExvY2F0aW9uID0gMDsKICAgICAgICAgc3BlbGxMZW5n
dGggPSAwOwpAQCAtODc3LDExICs4NzQsOCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmNoZWNr
U3BlbGxpbmdPZlN0CiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVxdWVzdENoZWNraW5nT2ZT
dHJpbmcoU3BlbGxDaGVja2VyKiBzZW5kZXIsIGludCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHRleHQpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0
ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQogICAgICAgICBtX3dl
YlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+cmVxdWVzdENoZWNraW5nT2ZUZXh0KHRleHQsIG5l
dyBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uSW1wbChpZGVudGlmaWVyLCBzZW5kZXIpKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPnJlcXVlc3RDaGVja2luZ09mVGV4
dCh0ZXh0LCBuZXcgV2ViVGV4dENoZWNraW5nQ29tcGxldGlvbkltcGwoaWRlbnRpZmllciwgc2Vu
ZGVyKSk7CiB9CiAKIFN0cmluZyBFZGl0b3JDbGllbnRJbXBsOjpnZXRBdXRvQ29ycmVjdFN1Z2dl
c3Rpb25Gb3JNaXNzcGVsbGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQpAQCAt
ODk2LDEwICs4OTAsOSBAQCBTdHJpbmcgRWRpdG9yQ2xpZW50SW1wbDo6Z2V0QXV0b0NvcnJlY3RT
CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQogCi0gICAgLy8gRklYTUUoamFt
KTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3Bl
bGxDaGVja0NsaWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xp
ZW50KCktPmF1dG9Db3JyZWN0V29yZChXZWJTdHJpbmcobWlzc3BlbGxlZFdvcmQpKTsKLSAgICBy
ZXR1cm4gbV93ZWJWaWV3LT5jbGllbnQoKS0+YXV0b0NvcnJlY3RXb3JkKFdlYlN0cmluZyhtaXNz
cGVsbGVkV29yZCkpOworICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAogdm9pZCBFZGl0b3JDbGll
bnRJbXBsOjpjaGVja0dyYW1tYXJPZlN0cmluZyhjb25zdCBVQ2hhciosIGludCBsZW5ndGgsCkBA
IC05MjIsMjkgKzkxNSwyMCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OnVwZGF0ZVNwZWxsaW5n
VUlXCiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVs
bGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQogewotICAgIC8vIEZJWE1FKGph
bSk6IHJlbW92ZSBvbmNlIGNocm9tZSBpcyB1cGRhdGVkLgogICAgIGlmIChtX3dlYlZpZXctPnNw
ZWxsQ2hlY2tDbGllbnQoKSkKICAgICAgICAgbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCkt
PnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoV2ViU3RyaW5nKG1pc3NwZWxsZWRX
b3JkKSk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJW
aWV3LT5jbGllbnQoKS0+dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChXZWJTdHJp
bmcobWlzc3BlbGxlZFdvcmQpKTsKIH0KIAogdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpzaG93U3Bl
bGxpbmdVSShib29sIHNob3cpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hy
b21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQog
ICAgICAgICBtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hv
dyk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hvdyk7CiB9CiAKIGJvb2wgRWRpdG9yQ2xpZW50
SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3Zl
IG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0Ns
aWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCktPmlz
U2hvd2luZ1NwZWxsaW5nVUkoKTsKLSAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAg
ICAgcmV0dXJuIG1fd2ViVmlldy0+Y2xpZW50KCktPmlzU2hvd2luZ1NwZWxsaW5nVUkoKTsKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsMTMgKzIxMiwxMyBA
QCBzdGF0aWMgYm9vbCBzaG91bGRVc2VFeHRlcm5hbFBvcHVwTWVudXMKIAogLy8gV2ViVmlldyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKLVdlYlZpZXcqIFdlYlZpZXc6OmNyZWF0ZShXZWJWaWV3Q2xpZW50KiBjbGllbnQs
IFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBXZWJBdXRvRmlsbENsaWVu
dCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3KiBXZWJWaWV3OjpjcmVhdGUoV2ViVmlld0NsaWVu
dCogY2xpZW50KQogewogICAgIC8vIEtlZXAgcnVudGltZSBmbGFnIGZvciBkZXZpY2UgbW90aW9u
IHR1cm5lZCBvZmYgdW50aWwgaXQncyBpbXBsZW1lbnRlZC4KICAgICBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZURldmljZU1vdGlvbihmYWxzZSk7CiAKICAgICAvLyBQYXNzIHRoZSBXZWJWaWV3
SW1wbCdzIHNlbGYtcmVmZXJlbmNlIHRvIHRoZSBjYWxsZXIuCi0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJWaWV3SW1wbChjbGllbnQsIGRldlRvb2xzQ2xpZW50LCBhdXRvRmlsbENsaWVudCkp
LmxlYWtSZWYoKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlZpZXdJbXBsKGNsaWVudCku
bGVha1JlZigpOwogfQogCiB2b2lkIFdlYlZpZXc6OnNldFVzZUV4dGVybmFsUG9wdXBNZW51cyhi
b29sIHVzZUV4dGVybmFsUG9wdXBNZW51cykKQEAgLTI4OCw5ICsyODgsOSBAQCB2b2lkIFdlYlZp
ZXdJbXBsOjpzZXRTcGVsbENoZWNrQ2xpZW50KFdlCiAgICAgbV9zcGVsbENoZWNrQ2xpZW50ID0g
c3BlbGxDaGVja0NsaWVudDsKIH0KIAotV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdD
bGllbnQqIGNsaWVudCwgV2ViRGV2VG9vbHNBZ2VudENsaWVudCogZGV2VG9vbHNDbGllbnQsIFdl
YkF1dG9GaWxsQ2xpZW50KiBhdXRvRmlsbENsaWVudCkKK1dlYlZpZXdJbXBsOjpXZWJWaWV3SW1w
bChXZWJWaWV3Q2xpZW50KiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCi0gICAgLCBt
X2F1dG9GaWxsQ2xpZW50KGF1dG9GaWxsQ2xpZW50KQorICAgICwgbV9hdXRvRmlsbENsaWVudCgw
KQogICAgICwgbV9zcGVsbENoZWNrQ2xpZW50KDApCiAgICAgLCBtX2Nocm9tZUNsaWVudEltcGwo
dGhpcykKICAgICAsIG1fY29udGV4dE1lbnVDbGllbnRJbXBsKHRoaXMpCkBAIC0zMzksOCArMzM5
LDYgQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqCiAgICAgLy8gc2V0
IHRvIGltcG9zc2libGUgcG9pbnQgc28gd2UgYWx3YXlzIGdldCB0aGUgZmlyc3QgbW91c2UgcG9z
CiAgICAgbV9sYXN0TW91c2VQb3NpdGlvbiA9IFdlYlBvaW50KC0xLCAtMSk7CiAKLSAgICBzZXRE
ZXZUb29sc0FnZW50Q2xpZW50KGRldlRvb2xzQ2xpZW50KTsKLQogICAgIFBhZ2U6OlBhZ2VDbGll
bnRzIHBhZ2VDbGllbnRzOwogICAgIHBhZ2VDbGllbnRzLmNocm9tZUNsaWVudCA9ICZtX2Nocm9t
ZUNsaWVudEltcGw7CiAgICAgcGFnZUNsaWVudHMuY29udGV4dE1lbnVDbGllbnQgPSAmbV9jb250
ZXh0TWVudUNsaWVudEltcGw7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmgJKHJldmlzaW9uIDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMzczLDcgKzM3Myw3IEBAIHByaXZhdGU6
CiAgICAgICBEcmFnT3ZlcgogICAgIH07CiAKLSAgICBXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50
KiwgV2ViRGV2VG9vbHNBZ2VudENsaWVudCosIFdlYkF1dG9GaWxsQ2xpZW50Kik7CisgICAgV2Vi
Vmlld0ltcGwoV2ViVmlld0NsaWVudCopOwogICAgIH5XZWJWaWV3SW1wbCgpOwogCiAgICAgLy8g
UmV0dXJucyB0cnVlIGlmIHRoZSBldmVudCB3YXMgYWN0dWFsbHkgcHJvY2Vzc2VkLgpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAJKHJldmlzaW9u
IDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIFdlYldvcmtlckJhc2U6Omlu
aXRpYWxpemVMb2FkZXIoY29uCiAgICAgLy8gbG9hZGluZyByZXF1ZXN0cyBmcm9tIHRoZSB3b3Jr
ZXIgY29udGV4dCB0byB0aGUgcmVzdCBvZiBXZWJLaXQgYW5kIENocm9taXVtCiAgICAgLy8gaW5m
cmFzdHJ1Y3R1cmUuCiAgICAgQVNTRVJUKCFtX3dlYlZpZXcpOwotICAgIG1fd2ViVmlldyA9IFdl
YlZpZXc6OmNyZWF0ZSgwLCAwLCAwKTsKKyAgICBtX3dlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUo
MCk7CiAgICAgbV93ZWJWaWV3LT5zZXR0aW5ncygpLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQoV2ViUnVudGltZUZlYXR1cmVzOjppc0FwcGxpY2F0aW9uQ2FjaGVFbmFibGVk
KCkpOwogICAgIG1fd2ViVmlldy0+aW5pdGlhbGl6ZU1haW5GcmFtZSh0aGlzKTsKIApJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BvcHVwTWVudVRlc3QuY3BwCShyZXZp
c2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUG9wdXBNZW51VGVz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MSw3ICsxODEsNyBAQCBwdWJsaWM6CiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB2b2lkIFNldFVwKCkKICAgICB7Ci0gICAgICAgIG1fd2ViVmlldyA9
IHN0YXRpY19jYXN0PFdlYlZpZXdJbXBsKj4oV2ViVmlldzo6Y3JlYXRlKCZtX3dlYnZpZXdDbGll
bnQsIDAsIDApKTsKKyAgICAgICAgbV93ZWJWaWV3ID0gc3RhdGljX2Nhc3Q8V2ViVmlld0ltcGwq
PihXZWJWaWV3OjpjcmVhdGUoJm1fd2Vidmlld0NsaWVudCkpOwogICAgICAgICBtX3dlYlZpZXct
PmluaXRpYWxpemVNYWluRnJhbWUoJm1fd2ViRnJhbWVDbGllbnQpOwogICAgICAgICBtX3BvcHVw
TWVudSA9IGFkb3B0UmVmKG5ldyBQb3B1cE1lbnVDaHJvbWl1bSgmbV9wb3B1cE1lbnVDbGllbnQp
KTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYkZyYW1lVGVz
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJGcmFt
ZVRlc3QuY3BwCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvV2ViRnJhbWVUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODcsNyArODcsNyBAQCBURVNU
X0YoV2ViRnJhbWVUZXN0LCBDb250ZW50VGV4dCkKIAogICAgIC8vIENyZWF0ZSBhbmQgaW5pdGlh
bGl6ZSB0aGUgV2ViVmlldy4gICAgCiAgICAgVGVzdFdlYkZyYW1lQ2xpZW50IHdlYkZyYW1lQ2xp
ZW50OwotICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCwgMCwgMCk7Cisg
ICAgV2ViVmlldyogd2ViVmlldyA9IFdlYlZpZXc6OmNyZWF0ZSgwKTsKICAgICB3ZWJWaWV3LT5p
bml0aWFsaXplTWFpbkZyYW1lKCZ3ZWJGcmFtZUNsaWVudCk7CiAKICAgICAvLyBMb2FkIHRoZSBt
YWluIGZyYW1lIFVSTC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViUGFn
ZVNlcmlhbGl6ZXJUZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1dlYlBhZ2VTZXJpYWxpemVyVGVzdC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQg
U2V0VXAoKQogICAgIHsKICAgICAgICAgLy8gQ3JlYXRlIGFuZCBpbml0aWFsaXplIHRoZSBXZWJW
aWV3LgotICAgICAgICBtX3dlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCwgMCwgMCk7CisgICAg
ICAgIG1fd2ViVmlldyA9IFdlYlZpZXc6OmNyZWF0ZSgwKTsKICAgICAgICAgbV93ZWJWaWV3LT5p
bml0aWFsaXplTWFpbkZyYW1lKCZtX3dlYkZyYW1lQ2xpZW50KTsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87428</attachid>
            <date>2011-03-29 16:32:46 -0700</date>
            <delta_ts>2011-03-29 17:05:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57396-20110329163209.patch</filename>
            <type>text/plain</type>
            <size>13387</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjM0MikKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTEtMDMtMjkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1d
OiBSZW1vdmUgdGhlIGNvZGUgdGhhdCBjYWxsZWQgV2ViVmlld0NsaWVudCBmb3Igc3BlbGxpbmcg
bm93IHRoYXQgY2hyb21pdW0gaXMgdXBkYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczOTYKKworICAgICAgICAqIERFUFM6CisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAg
KiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50
OjpoYW5kbGVDdXJyZW50S2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpjaGVja1NwZWxs
aW5nT2ZTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXF1ZXN0
Q2hlY2tpbmdPZlN0cmluZyk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6Omdl
dEF1dG9Db3JyZWN0U3VnZ2VzdGlvbkZvck1pc3NwZWxsZWRXb3JkKToKKyAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6
CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnNob3dTcGVsbGluZ1VJKToKKyAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZyk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6
Y3JlYXRlKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckJhc2U6OmluaXRpYWxp
emVMb2FkZXIpOgorICAgICAgICAqIHRlc3RzL1BvcHVwTWVudVRlc3QuY3BwOgorICAgICAgICAo
V2ViS2l0OjpTZWxlY3RQb3B1cE1lbnVUZXN0OjpTZXRVcCk6CisgICAgICAgICogdGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0
cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlU2Vy
aWFsaXplclRlc3Q6OlNldFVwKToKKwogMjAxMS0wMy0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjgyMjkzLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9ERVBTCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUwkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0RFUFMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAog
dmFycyA9IHsKICAgJ2Nocm9taXVtX3N2bic6ICdodHRwOi8vc3JjLmNocm9taXVtLm9yZy9zdm4v
dHJ1bmsvc3JjJywKLSAgJ2Nocm9taXVtX3Jldic6ICc3OTcxMCcKKyAgJ2Nocm9taXVtX3Jldic6
ICc3OTc1OScKIH0KIAogZGVwcyA9IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw5ICs3Myw2IEBAIHN0cnVj
dCBXZWJTaXplOwogc3RydWN0IFdlYlVSTExvYWRlck9wdGlvbnM7CiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gY2xhc3MgV2ViVmVjdG9yOwogCi0vLyBGSVhNRShqYW0pOiB0YWtlIHRoaXMgb3V0IG9u
Y2UgQ2hyb21pdW0gaGFzIHRoaXMKLSNkZWZpbmUgV0VCRlJBTUVfUFJJTlRCRUdJTl9UQUtFU19O
T0RFCi0KIGNsYXNzIFdlYkZyYW1lIHsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgbGl2ZSBXZWJGcmFtZSBvYmplY3RzLCB1c2VkIGZvciBsZWFrIGNoZWNraW5nLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2aXNpb24gODIzMTEp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDEwICs4NCw3IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGVzIGEgV2ViVmlldyB0
aGF0IGlzIE5PVCB5ZXQgaW5pdGlhbGl6ZWQuICBZb3Ugd2lsbCBuZWVkIHRvCiAgICAgLy8gY2Fs
bCBpbml0aWFsaXplTWFpbkZyYW1lIHRvIGZpbmlzaCB0aGUgaW5pdGlhbGl6YXRpb24uICBJdCBp
cyB2YWxpZAogICAgIC8vIHRvIHBhc3MgbnVsbCBjbGllbnQgcG9pbnRlcnMuCi0gICAgLy8gRklY
TUUoamFtKTogdGFrZSBvdXQgZGVmYXVsdCBwYXJhbWV0ZXJzIG9uY2UgY2hyb21pdW0gc3RvcHMg
cGFzc2luZyB0aGVtLgotICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYlZpZXcqIGNyZWF0ZShXZWJW
aWV3Q2xpZW50KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRGV2
VG9vbHNBZ2VudENsaWVudCogPSAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXZWJBdXRvRmlsbENsaWVudCogPSAwKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyBXZWJW
aWV3KiBjcmVhdGUoV2ViVmlld0NsaWVudCopOwogCiAgICAgLy8gQWZ0ZXIgY3JlYXRpbmcgYSBX
ZWJWaWV3LCB5b3Ugc2hvdWxkIGltbWVkaWF0ZWx5IGNhbGwgdGhpcyBtZXRob2QuCiAgICAgLy8g
WW91IGNhbiBvcHRpb25hbGx5IG1vZGlmeSB0aGUgc2V0dGluZ3MgYmVmb3JlIGNhbGxpbmcgdGhp
cyBtZXRob2QuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
d0NsaWVudC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBjbGFz
cyBXZWJSYW5nZTsKIGNsYXNzIFdlYlNwZWVjaElucHV0Q29udHJvbGxlcjsKIGNsYXNzIFdlYlNw
ZWVjaElucHV0TGlzdGVuZXI7CiBjbGFzcyBXZWJTdG9yYWdlTmFtZXNwYWNlOwotY2xhc3MgV2Vi
VGV4dENoZWNraW5nQ29tcGxldGlvbjsKIGNsYXNzIFdlYlVSTDsKIGNsYXNzIFdlYlVSTFJlcXVl
c3Q7CiBjbGFzcyBXZWJWaWV3OwpAQCAtMTcwLDMzICsxNjksNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGhhbmRsZUN1cnJlbnRLZXlib2FyZEV2ZW50KCkgeyByZXR1cm4gZmFsc2U7IH0K
IAogCi0gICAgLy8gU3BlbGxjaGVja2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2Ug
Y2hyb21pdW0gaXMgdXBkYXRlZCB0byB1c2UgV2ViU3BlbGxDaGVja0NsaWVudAotCi0gICAgLy8g
VGhlIGNsaWVudCBzaG91bGQgcGVyZm9ybSBzcGVsbC1jaGVja2luZyBvbiB0aGUgZ2l2ZW4gdGV4
dC4gIElmIHRoZQotICAgIC8vIHRleHQgY29udGFpbnMgYSBtaXNzcGVsbGVkIHdvcmQsIHRoZW4g
dXBvbiByZXR1cm4gbWlzc3BlbGxlZE9mZnNldAotICAgIC8vIHdpbGwgcG9pbnQgdG8gdGhlIHN0
YXJ0IG9mIHRoZSBtaXNzcGVsbGVkIHdvcmQsIGFuZCBtaXNzcGVsbGVkTGVuZ3RoCi0gICAgLy8g
d2lsbCBpbmRpY2F0ZXMgaXRzIGxlbmd0aC4gIE90aGVyd2lzZSwgaWYgdGhlcmUgd2FzIG5vdCBh
IHNwZWxsaW5nCi0gICAgLy8gZXJyb3IsIHRoZW4gdXBvbiByZXR1cm4gbWlzc3BlbGxlZExlbmd0
aCBpcyAwLgotICAgIHZpcnR1YWwgdm9pZCBzcGVsbENoZWNrKAotICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIHRleHQsIGludCYgbWlzc3BlbGxlZE9mZnNldCwgaW50JiBtaXNzcGVsbGVkTGVuZ3Ro
KSB7IH0KLSAgICAvLyBSZXF1ZXN0cyBhc3luY2hyb25vdXMgc3BlbGxpbmcgYW5kIGdyYW1tYXIg
Y2hlY2tpbmcsIHdob3NlIHJlc3VsdCBzaG91bGQgYmUKLSAgICAvLyByZXR1cm5lZCBieSBwYXNz
ZWQgY29tcGxldGlvbiBvYmplY3QuCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09m
VGV4dChjb25zdCBXZWJTdHJpbmcmLCBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uKikgeyB9Ci0g
ICAgLy8gQ29tcHV0ZXMgYW4gYXV0by1jb3JyZWN0ZWQgcmVwbGFjZW1lbnQgZm9yIGEgbWlzc3Bl
bGxlZCB3b3JkLiAgSWYgbm8KLSAgICAvLyByZXBsYWNlbWVudCBpcyBmb3VuZCwgdGhlbiBhbiBl
bXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuCi0gICAgdmlydHVhbCBXZWJTdHJpbmcgYXV0b0NvcnJl
Y3RXb3JkKGNvbnN0IFdlYlN0cmluZyYgbWlzc3BlbGxlZFdvcmQpIHsgcmV0dXJuIFdlYlN0cmlu
ZygpOyB9Ci0KLSAgICAvLyBTaG93IG9yIGhpZGUgdGhlIHNwZWxsaW5nIFVJLgotICAgIHZpcnR1
YWwgdm9pZCBzaG93U3BlbGxpbmdVSShib29sIHNob3cpIHsgfQotCi0gICAgLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBzcGVsbGluZyBVSSBpcyBzaG93aW5nLgotICAgIHZpcnR1YWwgYm9vbCBpc1No
b3dpbmdTcGVsbGluZ1VJKCkgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIC8vIFVwZGF0ZSB0aGUg
c3BlbGxpbmcgVUkgd2l0aCB0aGUgZ2l2ZW4gd29yZC4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
U3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChjb25zdCBXZWJTdHJpbmcmIHdvcmQpIHsgfQot
Ci0KICAgICAvLyBEaWFsb2dzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFRoaXMgbWV0aG9kIHJldHVybnMgaW1t
ZWRpYXRlbHkgYWZ0ZXIgc2hvd2luZyB0aGUgZGlhbG9nLiBXaGVuIHRoZQpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9u
IDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg1NywxMSArODU3LDggQEAgdm9pZCBFZGl0b3JDbGllbnRJ
bXBsOjpjaGVja1NwZWxsaW5nT2ZTdAogICAgIGludCBzcGVsbExlbmd0aCA9IDA7CiAKICAgICAv
LyBDaGVjayB0byBzZWUgaWYgdGhlIHByb3ZpZGVkIHRleHQgaXMgc3BlbGxlZCBjb3JyZWN0bHku
Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAg
aWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93ZWJWaWV3LT5zcGVs
bENoZWNrQ2xpZW50KCkpCiAgICAgICAgIG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpLT5z
cGVsbENoZWNrKFdlYlN0cmluZyh0ZXh0LCBsZW5ndGgpLCBzcGVsbExvY2F0aW9uLCBzcGVsbExl
bmd0aCk7Ci0gICAgaWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93
ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+c3BlbGxDaGVj
ayhXZWJTdHJpbmcodGV4dCwgbGVuZ3RoKSwgc3BlbGxMb2NhdGlvbiwgc3BlbGxMZW5ndGgpOwog
ICAgIGVsc2UgewogICAgICAgICBzcGVsbExvY2F0aW9uID0gMDsKICAgICAgICAgc3BlbGxMZW5n
dGggPSAwOwpAQCAtODc3LDExICs4NzQsOCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmNoZWNr
U3BlbGxpbmdPZlN0CiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVxdWVzdENoZWNraW5nT2ZT
dHJpbmcoU3BlbGxDaGVja2VyKiBzZW5kZXIsIGludCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHRleHQpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0
ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQogICAgICAgICBtX3dl
YlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+cmVxdWVzdENoZWNraW5nT2ZUZXh0KHRleHQsIG5l
dyBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uSW1wbChpZGVudGlmaWVyLCBzZW5kZXIpKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPnJlcXVlc3RDaGVja2luZ09mVGV4
dCh0ZXh0LCBuZXcgV2ViVGV4dENoZWNraW5nQ29tcGxldGlvbkltcGwoaWRlbnRpZmllciwgc2Vu
ZGVyKSk7CiB9CiAKIFN0cmluZyBFZGl0b3JDbGllbnRJbXBsOjpnZXRBdXRvQ29ycmVjdFN1Z2dl
c3Rpb25Gb3JNaXNzcGVsbGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQpAQCAt
ODk2LDEwICs4OTAsOSBAQCBTdHJpbmcgRWRpdG9yQ2xpZW50SW1wbDo6Z2V0QXV0b0NvcnJlY3RT
CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQogCi0gICAgLy8gRklYTUUoamFt
KTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3Bl
bGxDaGVja0NsaWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xp
ZW50KCktPmF1dG9Db3JyZWN0V29yZChXZWJTdHJpbmcobWlzc3BlbGxlZFdvcmQpKTsKLSAgICBy
ZXR1cm4gbV93ZWJWaWV3LT5jbGllbnQoKS0+YXV0b0NvcnJlY3RXb3JkKFdlYlN0cmluZyhtaXNz
cGVsbGVkV29yZCkpOworICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAogdm9pZCBFZGl0b3JDbGll
bnRJbXBsOjpjaGVja0dyYW1tYXJPZlN0cmluZyhjb25zdCBVQ2hhciosIGludCBsZW5ndGgsCkBA
IC05MjIsMjkgKzkxNSwyMCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OnVwZGF0ZVNwZWxsaW5n
VUlXCiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVs
bGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQogewotICAgIC8vIEZJWE1FKGph
bSk6IHJlbW92ZSBvbmNlIGNocm9tZSBpcyB1cGRhdGVkLgogICAgIGlmIChtX3dlYlZpZXctPnNw
ZWxsQ2hlY2tDbGllbnQoKSkKICAgICAgICAgbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCkt
PnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoV2ViU3RyaW5nKG1pc3NwZWxsZWRX
b3JkKSk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJW
aWV3LT5jbGllbnQoKS0+dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChXZWJTdHJp
bmcobWlzc3BlbGxlZFdvcmQpKTsKIH0KIAogdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpzaG93U3Bl
bGxpbmdVSShib29sIHNob3cpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hy
b21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQog
ICAgICAgICBtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hv
dyk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hvdyk7CiB9CiAKIGJvb2wgRWRpdG9yQ2xpZW50
SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3Zl
IG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0Ns
aWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCktPmlz
U2hvd2luZ1NwZWxsaW5nVUkoKTsKLSAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAg
ICAgcmV0dXJuIG1fd2ViVmlldy0+Y2xpZW50KCktPmlzU2hvd2luZ1NwZWxsaW5nVUkoKTsKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsMTMgKzIxMiwxMyBA
QCBzdGF0aWMgYm9vbCBzaG91bGRVc2VFeHRlcm5hbFBvcHVwTWVudXMKIAogLy8gV2ViVmlldyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKLVdlYlZpZXcqIFdlYlZpZXc6OmNyZWF0ZShXZWJWaWV3Q2xpZW50KiBjbGllbnQs
IFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBXZWJBdXRvRmlsbENsaWVu
dCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3KiBXZWJWaWV3OjpjcmVhdGUoV2ViVmlld0NsaWVu
dCogY2xpZW50KQogewogICAgIC8vIEtlZXAgcnVudGltZSBmbGFnIGZvciBkZXZpY2UgbW90aW9u
IHR1cm5lZCBvZmYgdW50aWwgaXQncyBpbXBsZW1lbnRlZC4KICAgICBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZURldmljZU1vdGlvbihmYWxzZSk7CiAKICAgICAvLyBQYXNzIHRoZSBXZWJWaWV3
SW1wbCdzIHNlbGYtcmVmZXJlbmNlIHRvIHRoZSBjYWxsZXIuCi0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJWaWV3SW1wbChjbGllbnQsIGRldlRvb2xzQ2xpZW50LCBhdXRvRmlsbENsaWVudCkp
LmxlYWtSZWYoKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlZpZXdJbXBsKGNsaWVudCkp
LmxlYWtSZWYoKTsKIH0KIAogdm9pZCBXZWJWaWV3OjpzZXRVc2VFeHRlcm5hbFBvcHVwTWVudXMo
Ym9vbCB1c2VFeHRlcm5hbFBvcHVwTWVudXMpCkBAIC0yODgsOSArMjg4LDkgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6c2V0U3BlbGxDaGVja0NsaWVudChXZQogICAgIG1fc3BlbGxDaGVja0NsaWVudCA9
IHNwZWxsQ2hlY2tDbGllbnQ7CiB9CiAKLVdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3
Q2xpZW50KiBjbGllbnQsIFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBX
ZWJBdXRvRmlsbENsaWVudCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3SW1wbDo6V2ViVmlld0lt
cGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9hdXRvRmlsbENsaWVudChhdXRvRmlsbENsaWVudCkKKyAgICAsIG1fYXV0b0ZpbGxDbGllbnQo
MCkKICAgICAsIG1fc3BlbGxDaGVja0NsaWVudCgwKQogICAgICwgbV9jaHJvbWVDbGllbnRJbXBs
KHRoaXMpCiAgICAgLCBtX2NvbnRleHRNZW51Q2xpZW50SW1wbCh0aGlzKQpAQCAtMzM5LDggKzMz
OSw2IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KgogICAgIC8vIHNl
dCB0byBpbXBvc3NpYmxlIHBvaW50IHNvIHdlIGFsd2F5cyBnZXQgdGhlIGZpcnN0IG1vdXNlIHBv
cwogICAgIG1fbGFzdE1vdXNlUG9zaXRpb24gPSBXZWJQb2ludCgtMSwgLTEpOwogCi0gICAgc2V0
RGV2VG9vbHNBZ2VudENsaWVudChkZXZUb29sc0NsaWVudCk7Ci0KICAgICBQYWdlOjpQYWdlQ2xp
ZW50cyBwYWdlQ2xpZW50czsKICAgICBwYWdlQ2xpZW50cy5jaHJvbWVDbGllbnQgPSAmbV9jaHJv
bWVDbGllbnRJbXBsOwogICAgIHBhZ2VDbGllbnRzLmNvbnRleHRNZW51Q2xpZW50ID0gJm1fY29u
dGV4dE1lbnVDbGllbnRJbXBsOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3Myw3ICszNzMsNyBAQCBwcml2YXRl
OgogICAgICAgRHJhZ092ZXIKICAgICB9OwogCi0gICAgV2ViVmlld0ltcGwoV2ViVmlld0NsaWVu
dCosIFdlYkRldlRvb2xzQWdlbnRDbGllbnQqLCBXZWJBdXRvRmlsbENsaWVudCopOworICAgIFdl
YlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqKTsKICAgICB+V2ViVmlld0ltcGwoKTsKIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGUgZXZlbnQgd2FzIGFjdHVhbGx5IHByb2Nlc3NlZC4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwCShyZXZpc2lv
biA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBXZWJXb3JrZXJCYXNlOjpp
bml0aWFsaXplTG9hZGVyKGNvbgogICAgIC8vIGxvYWRpbmcgcmVxdWVzdHMgZnJvbSB0aGUgd29y
a2VyIGNvbnRleHQgdG8gdGhlIHJlc3Qgb2YgV2ViS2l0IGFuZCBDaHJvbWl1bQogICAgIC8vIGlu
ZnJhc3RydWN0dXJlLgogICAgIEFTU0VSVCghbV93ZWJWaWV3KTsKLSAgICBtX3dlYlZpZXcgPSBX
ZWJWaWV3OjpjcmVhdGUoMCwgMCwgMCk7CisgICAgbV93ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRl
KDApOwogICAgIG1fd2ViVmlldy0+c2V0dGluZ3MoKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGVFbmFibGVkKFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNBcHBsaWNhdGlvbkNhY2hlRW5hYmxl
ZCgpKTsKICAgICBtX3dlYlZpZXctPmluaXRpYWxpemVNYWluRnJhbWUodGhpcyk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUG9wdXBNZW51VGVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcAkocmV2
aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BvcHVwTWVudVRl
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyArMTgxLDcgQEAgcHVibGljOgogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewotICAgICAgICBtX3dlYlZpZXcg
PSBzdGF0aWNfY2FzdDxXZWJWaWV3SW1wbCo+KFdlYlZpZXc6OmNyZWF0ZSgmbV93ZWJ2aWV3Q2xp
ZW50LCAwLCAwKSk7CisgICAgICAgIG1fd2ViVmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdJbXBs
Kj4oV2ViVmlldzo6Y3JlYXRlKCZtX3dlYnZpZXdDbGllbnQpKTsKICAgICAgICAgbV93ZWJWaWV3
LT5pbml0aWFsaXplTWFpbkZyYW1lKCZtX3dlYkZyYW1lQ2xpZW50KTsKICAgICAgICAgbV9wb3B1
cE1lbnUgPSBhZG9wdFJlZihuZXcgUG9wdXBNZW51Q2hyb21pdW0oJm1fcG9wdXBNZW51Q2xpZW50
KSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJGcmFtZVRl
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViRnJh
bWVUZXN0LmNwcAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1dlYkZyYW1lVGVzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3LDcgQEAgVEVT
VF9GKFdlYkZyYW1lVGVzdCwgQ29udGVudFRleHQpCiAKICAgICAvLyBDcmVhdGUgYW5kIGluaXRp
YWxpemUgdGhlIFdlYlZpZXcuICAgIAogICAgIFRlc3RXZWJGcmFtZUNsaWVudCB3ZWJGcmFtZUNs
aWVudDsKLSAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRlKDAsIDAsIDApOwor
ICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCk7CiAgICAgd2ViVmlldy0+
aW5pdGlhbGl6ZU1haW5GcmFtZSgmd2ViRnJhbWVDbGllbnQpOwogCiAgICAgLy8gTG9hZCB0aGUg
bWFpbiBmcmFtZSBVUkwuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlBh
Z2VTZXJpYWxpemVyVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwCShyZXZpc2lvbiA4MjMxMSkKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViUGFnZVNlcmlhbGl6ZXJUZXN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IFNldFVwKCkKICAgICB7CiAgICAgICAgIC8vIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSB0aGUgV2Vi
Vmlldy4KLSAgICAgICAgbV93ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRlKDAsIDAsIDApOworICAg
ICAgICBtX3dlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCk7CiAgICAgICAgIG1fd2ViVmlldy0+
aW5pdGlhbGl6ZU1haW5GcmFtZSgmbV93ZWJGcmFtZUNsaWVudCk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87437</attachid>
            <date>2011-03-29 17:05:37 -0700</date>
            <delta_ts>2011-03-30 00:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57396-20110329170500.patch</filename>
            <type>text/plain</type>
            <size>17212</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjM0MikKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTEtMDMtMjkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1d
OiBSZW1vdmUgdGhlIGNvZGUgdGhhdCBjYWxsZWQgV2ViVmlld0NsaWVudCBmb3Igc3BlbGxpbmcg
bm93IHRoYXQgY2hyb21pdW0gaXMgdXBkYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczOTYKKworICAgICAgICAqIERFUFM6CisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAg
KiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50
OjpoYW5kbGVDdXJyZW50S2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpjaGVja1NwZWxs
aW5nT2ZTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXF1ZXN0
Q2hlY2tpbmdPZlN0cmluZyk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6Omdl
dEF1dG9Db3JyZWN0U3VnZ2VzdGlvbkZvck1pc3NwZWxsZWRXb3JkKToKKyAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6
CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnNob3dTcGVsbGluZ1VJKToKKyAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZyk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6
Y3JlYXRlKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckJhc2U6OmluaXRpYWxp
emVMb2FkZXIpOgorICAgICAgICAqIHRlc3RzL1BvcHVwTWVudVRlc3QuY3BwOgorICAgICAgICAo
V2ViS2l0OjpTZWxlY3RQb3B1cE1lbnVUZXN0OjpTZXRVcCk6CisgICAgICAgICogdGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0
cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlU2Vy
aWFsaXplclRlc3Q6OlNldFVwKToKKwogMjAxMS0wMy0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjgyMjkzLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9ERVBTCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUwkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0RFUFMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAog
dmFycyA9IHsKICAgJ2Nocm9taXVtX3N2bic6ICdodHRwOi8vc3JjLmNocm9taXVtLm9yZy9zdm4v
dHJ1bmsvc3JjJywKLSAgJ2Nocm9taXVtX3Jldic6ICc3OTcxMCcKKyAgJ2Nocm9taXVtX3Jldic6
ICc3OTc1OScKIH0KIAogZGVwcyA9IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw5ICs3Myw2IEBAIHN0cnVj
dCBXZWJTaXplOwogc3RydWN0IFdlYlVSTExvYWRlck9wdGlvbnM7CiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gY2xhc3MgV2ViVmVjdG9yOwogCi0vLyBGSVhNRShqYW0pOiB0YWtlIHRoaXMgb3V0IG9u
Y2UgQ2hyb21pdW0gaGFzIHRoaXMKLSNkZWZpbmUgV0VCRlJBTUVfUFJJTlRCRUdJTl9UQUtFU19O
T0RFCi0KIGNsYXNzIFdlYkZyYW1lIHsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgbGl2ZSBXZWJGcmFtZSBvYmplY3RzLCB1c2VkIGZvciBsZWFrIGNoZWNraW5nLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2aXNpb24gODIzMTEp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDEwICs4NCw3IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGVzIGEgV2ViVmlldyB0
aGF0IGlzIE5PVCB5ZXQgaW5pdGlhbGl6ZWQuICBZb3Ugd2lsbCBuZWVkIHRvCiAgICAgLy8gY2Fs
bCBpbml0aWFsaXplTWFpbkZyYW1lIHRvIGZpbmlzaCB0aGUgaW5pdGlhbGl6YXRpb24uICBJdCBp
cyB2YWxpZAogICAgIC8vIHRvIHBhc3MgbnVsbCBjbGllbnQgcG9pbnRlcnMuCi0gICAgLy8gRklY
TUUoamFtKTogdGFrZSBvdXQgZGVmYXVsdCBwYXJhbWV0ZXJzIG9uY2UgY2hyb21pdW0gc3RvcHMg
cGFzc2luZyB0aGVtLgotICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYlZpZXcqIGNyZWF0ZShXZWJW
aWV3Q2xpZW50KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRGV2
VG9vbHNBZ2VudENsaWVudCogPSAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXZWJBdXRvRmlsbENsaWVudCogPSAwKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyBXZWJW
aWV3KiBjcmVhdGUoV2ViVmlld0NsaWVudCopOwogCiAgICAgLy8gQWZ0ZXIgY3JlYXRpbmcgYSBX
ZWJWaWV3LCB5b3Ugc2hvdWxkIGltbWVkaWF0ZWx5IGNhbGwgdGhpcyBtZXRob2QuCiAgICAgLy8g
WW91IGNhbiBvcHRpb25hbGx5IG1vZGlmeSB0aGUgc2V0dGluZ3MgYmVmb3JlIGNhbGxpbmcgdGhp
cyBtZXRob2QuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
d0NsaWVudC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBjbGFz
cyBXZWJSYW5nZTsKIGNsYXNzIFdlYlNwZWVjaElucHV0Q29udHJvbGxlcjsKIGNsYXNzIFdlYlNw
ZWVjaElucHV0TGlzdGVuZXI7CiBjbGFzcyBXZWJTdG9yYWdlTmFtZXNwYWNlOwotY2xhc3MgV2Vi
VGV4dENoZWNraW5nQ29tcGxldGlvbjsKIGNsYXNzIFdlYlVSTDsKIGNsYXNzIFdlYlVSTFJlcXVl
c3Q7CiBjbGFzcyBXZWJWaWV3OwpAQCAtMTcwLDMzICsxNjksNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGhhbmRsZUN1cnJlbnRLZXlib2FyZEV2ZW50KCkgeyByZXR1cm4gZmFsc2U7IH0K
IAogCi0gICAgLy8gU3BlbGxjaGVja2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2Ug
Y2hyb21pdW0gaXMgdXBkYXRlZCB0byB1c2UgV2ViU3BlbGxDaGVja0NsaWVudAotCi0gICAgLy8g
VGhlIGNsaWVudCBzaG91bGQgcGVyZm9ybSBzcGVsbC1jaGVja2luZyBvbiB0aGUgZ2l2ZW4gdGV4
dC4gIElmIHRoZQotICAgIC8vIHRleHQgY29udGFpbnMgYSBtaXNzcGVsbGVkIHdvcmQsIHRoZW4g
dXBvbiByZXR1cm4gbWlzc3BlbGxlZE9mZnNldAotICAgIC8vIHdpbGwgcG9pbnQgdG8gdGhlIHN0
YXJ0IG9mIHRoZSBtaXNzcGVsbGVkIHdvcmQsIGFuZCBtaXNzcGVsbGVkTGVuZ3RoCi0gICAgLy8g
d2lsbCBpbmRpY2F0ZXMgaXRzIGxlbmd0aC4gIE90aGVyd2lzZSwgaWYgdGhlcmUgd2FzIG5vdCBh
IHNwZWxsaW5nCi0gICAgLy8gZXJyb3IsIHRoZW4gdXBvbiByZXR1cm4gbWlzc3BlbGxlZExlbmd0
aCBpcyAwLgotICAgIHZpcnR1YWwgdm9pZCBzcGVsbENoZWNrKAotICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIHRleHQsIGludCYgbWlzc3BlbGxlZE9mZnNldCwgaW50JiBtaXNzcGVsbGVkTGVuZ3Ro
KSB7IH0KLSAgICAvLyBSZXF1ZXN0cyBhc3luY2hyb25vdXMgc3BlbGxpbmcgYW5kIGdyYW1tYXIg
Y2hlY2tpbmcsIHdob3NlIHJlc3VsdCBzaG91bGQgYmUKLSAgICAvLyByZXR1cm5lZCBieSBwYXNz
ZWQgY29tcGxldGlvbiBvYmplY3QuCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09m
VGV4dChjb25zdCBXZWJTdHJpbmcmLCBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uKikgeyB9Ci0g
ICAgLy8gQ29tcHV0ZXMgYW4gYXV0by1jb3JyZWN0ZWQgcmVwbGFjZW1lbnQgZm9yIGEgbWlzc3Bl
bGxlZCB3b3JkLiAgSWYgbm8KLSAgICAvLyByZXBsYWNlbWVudCBpcyBmb3VuZCwgdGhlbiBhbiBl
bXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuCi0gICAgdmlydHVhbCBXZWJTdHJpbmcgYXV0b0NvcnJl
Y3RXb3JkKGNvbnN0IFdlYlN0cmluZyYgbWlzc3BlbGxlZFdvcmQpIHsgcmV0dXJuIFdlYlN0cmlu
ZygpOyB9Ci0KLSAgICAvLyBTaG93IG9yIGhpZGUgdGhlIHNwZWxsaW5nIFVJLgotICAgIHZpcnR1
YWwgdm9pZCBzaG93U3BlbGxpbmdVSShib29sIHNob3cpIHsgfQotCi0gICAgLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBzcGVsbGluZyBVSSBpcyBzaG93aW5nLgotICAgIHZpcnR1YWwgYm9vbCBpc1No
b3dpbmdTcGVsbGluZ1VJKCkgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIC8vIFVwZGF0ZSB0aGUg
c3BlbGxpbmcgVUkgd2l0aCB0aGUgZ2l2ZW4gd29yZC4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
U3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChjb25zdCBXZWJTdHJpbmcmIHdvcmQpIHsgfQot
Ci0KICAgICAvLyBEaWFsb2dzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFRoaXMgbWV0aG9kIHJldHVybnMgaW1t
ZWRpYXRlbHkgYWZ0ZXIgc2hvd2luZyB0aGUgZGlhbG9nLiBXaGVuIHRoZQpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9u
IDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg1NywxMSArODU3LDggQEAgdm9pZCBFZGl0b3JDbGllbnRJ
bXBsOjpjaGVja1NwZWxsaW5nT2ZTdAogICAgIGludCBzcGVsbExlbmd0aCA9IDA7CiAKICAgICAv
LyBDaGVjayB0byBzZWUgaWYgdGhlIHByb3ZpZGVkIHRleHQgaXMgc3BlbGxlZCBjb3JyZWN0bHku
Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAg
aWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93ZWJWaWV3LT5zcGVs
bENoZWNrQ2xpZW50KCkpCiAgICAgICAgIG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpLT5z
cGVsbENoZWNrKFdlYlN0cmluZyh0ZXh0LCBsZW5ndGgpLCBzcGVsbExvY2F0aW9uLCBzcGVsbExl
bmd0aCk7Ci0gICAgaWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93
ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+c3BlbGxDaGVj
ayhXZWJTdHJpbmcodGV4dCwgbGVuZ3RoKSwgc3BlbGxMb2NhdGlvbiwgc3BlbGxMZW5ndGgpOwog
ICAgIGVsc2UgewogICAgICAgICBzcGVsbExvY2F0aW9uID0gMDsKICAgICAgICAgc3BlbGxMZW5n
dGggPSAwOwpAQCAtODc3LDExICs4NzQsOCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmNoZWNr
U3BlbGxpbmdPZlN0CiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVxdWVzdENoZWNraW5nT2ZT
dHJpbmcoU3BlbGxDaGVja2VyKiBzZW5kZXIsIGludCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHRleHQpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0
ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQogICAgICAgICBtX3dl
YlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+cmVxdWVzdENoZWNraW5nT2ZUZXh0KHRleHQsIG5l
dyBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uSW1wbChpZGVudGlmaWVyLCBzZW5kZXIpKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPnJlcXVlc3RDaGVja2luZ09mVGV4
dCh0ZXh0LCBuZXcgV2ViVGV4dENoZWNraW5nQ29tcGxldGlvbkltcGwoaWRlbnRpZmllciwgc2Vu
ZGVyKSk7CiB9CiAKIFN0cmluZyBFZGl0b3JDbGllbnRJbXBsOjpnZXRBdXRvQ29ycmVjdFN1Z2dl
c3Rpb25Gb3JNaXNzcGVsbGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQpAQCAt
ODk2LDEwICs4OTAsOSBAQCBTdHJpbmcgRWRpdG9yQ2xpZW50SW1wbDo6Z2V0QXV0b0NvcnJlY3RT
CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQogCi0gICAgLy8gRklYTUUoamFt
KTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3Bl
bGxDaGVja0NsaWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xp
ZW50KCktPmF1dG9Db3JyZWN0V29yZChXZWJTdHJpbmcobWlzc3BlbGxlZFdvcmQpKTsKLSAgICBy
ZXR1cm4gbV93ZWJWaWV3LT5jbGllbnQoKS0+YXV0b0NvcnJlY3RXb3JkKFdlYlN0cmluZyhtaXNz
cGVsbGVkV29yZCkpOworICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAogdm9pZCBFZGl0b3JDbGll
bnRJbXBsOjpjaGVja0dyYW1tYXJPZlN0cmluZyhjb25zdCBVQ2hhciosIGludCBsZW5ndGgsCkBA
IC05MjIsMjkgKzkxNSwyMCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OnVwZGF0ZVNwZWxsaW5n
VUlXCiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVs
bGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQogewotICAgIC8vIEZJWE1FKGph
bSk6IHJlbW92ZSBvbmNlIGNocm9tZSBpcyB1cGRhdGVkLgogICAgIGlmIChtX3dlYlZpZXctPnNw
ZWxsQ2hlY2tDbGllbnQoKSkKICAgICAgICAgbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCkt
PnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoV2ViU3RyaW5nKG1pc3NwZWxsZWRX
b3JkKSk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJW
aWV3LT5jbGllbnQoKS0+dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChXZWJTdHJp
bmcobWlzc3BlbGxlZFdvcmQpKTsKIH0KIAogdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpzaG93U3Bl
bGxpbmdVSShib29sIHNob3cpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hy
b21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQog
ICAgICAgICBtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hv
dyk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hvdyk7CiB9CiAKIGJvb2wgRWRpdG9yQ2xpZW50
SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3Zl
IG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0Ns
aWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCktPmlz
U2hvd2luZ1NwZWxsaW5nVUkoKTsKLSAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAg
ICAgcmV0dXJuIG1fd2ViVmlldy0+Y2xpZW50KCktPmlzU2hvd2luZ1NwZWxsaW5nVUkoKTsKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsMTMgKzIxMiwxMyBA
QCBzdGF0aWMgYm9vbCBzaG91bGRVc2VFeHRlcm5hbFBvcHVwTWVudXMKIAogLy8gV2ViVmlldyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKLVdlYlZpZXcqIFdlYlZpZXc6OmNyZWF0ZShXZWJWaWV3Q2xpZW50KiBjbGllbnQs
IFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBXZWJBdXRvRmlsbENsaWVu
dCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3KiBXZWJWaWV3OjpjcmVhdGUoV2ViVmlld0NsaWVu
dCogY2xpZW50KQogewogICAgIC8vIEtlZXAgcnVudGltZSBmbGFnIGZvciBkZXZpY2UgbW90aW9u
IHR1cm5lZCBvZmYgdW50aWwgaXQncyBpbXBsZW1lbnRlZC4KICAgICBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZURldmljZU1vdGlvbihmYWxzZSk7CiAKICAgICAvLyBQYXNzIHRoZSBXZWJWaWV3
SW1wbCdzIHNlbGYtcmVmZXJlbmNlIHRvIHRoZSBjYWxsZXIuCi0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJWaWV3SW1wbChjbGllbnQsIGRldlRvb2xzQ2xpZW50LCBhdXRvRmlsbENsaWVudCkp
LmxlYWtSZWYoKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlZpZXdJbXBsKGNsaWVudCkp
LmxlYWtSZWYoKTsKIH0KIAogdm9pZCBXZWJWaWV3OjpzZXRVc2VFeHRlcm5hbFBvcHVwTWVudXMo
Ym9vbCB1c2VFeHRlcm5hbFBvcHVwTWVudXMpCkBAIC0yODgsOSArMjg4LDkgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6c2V0U3BlbGxDaGVja0NsaWVudChXZQogICAgIG1fc3BlbGxDaGVja0NsaWVudCA9
IHNwZWxsQ2hlY2tDbGllbnQ7CiB9CiAKLVdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3
Q2xpZW50KiBjbGllbnQsIFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBX
ZWJBdXRvRmlsbENsaWVudCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3SW1wbDo6V2ViVmlld0lt
cGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9hdXRvRmlsbENsaWVudChhdXRvRmlsbENsaWVudCkKKyAgICAsIG1fYXV0b0ZpbGxDbGllbnQo
MCkKICAgICAsIG1fc3BlbGxDaGVja0NsaWVudCgwKQogICAgICwgbV9jaHJvbWVDbGllbnRJbXBs
KHRoaXMpCiAgICAgLCBtX2NvbnRleHRNZW51Q2xpZW50SW1wbCh0aGlzKQpAQCAtMzM5LDggKzMz
OSw2IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KgogICAgIC8vIHNl
dCB0byBpbXBvc3NpYmxlIHBvaW50IHNvIHdlIGFsd2F5cyBnZXQgdGhlIGZpcnN0IG1vdXNlIHBv
cwogICAgIG1fbGFzdE1vdXNlUG9zaXRpb24gPSBXZWJQb2ludCgtMSwgLTEpOwogCi0gICAgc2V0
RGV2VG9vbHNBZ2VudENsaWVudChkZXZUb29sc0NsaWVudCk7Ci0KICAgICBQYWdlOjpQYWdlQ2xp
ZW50cyBwYWdlQ2xpZW50czsKICAgICBwYWdlQ2xpZW50cy5jaHJvbWVDbGllbnQgPSAmbV9jaHJv
bWVDbGllbnRJbXBsOwogICAgIHBhZ2VDbGllbnRzLmNvbnRleHRNZW51Q2xpZW50ID0gJm1fY29u
dGV4dE1lbnVDbGllbnRJbXBsOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3Myw3ICszNzMsNyBAQCBwcml2YXRl
OgogICAgICAgRHJhZ092ZXIKICAgICB9OwogCi0gICAgV2ViVmlld0ltcGwoV2ViVmlld0NsaWVu
dCosIFdlYkRldlRvb2xzQWdlbnRDbGllbnQqLCBXZWJBdXRvRmlsbENsaWVudCopOworICAgIFdl
YlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqKTsKICAgICB+V2ViVmlld0ltcGwoKTsKIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGUgZXZlbnQgd2FzIGFjdHVhbGx5IHByb2Nlc3NlZC4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwCShyZXZpc2lv
biA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBXZWJXb3JrZXJCYXNlOjpp
bml0aWFsaXplTG9hZGVyKGNvbgogICAgIC8vIGxvYWRpbmcgcmVxdWVzdHMgZnJvbSB0aGUgd29y
a2VyIGNvbnRleHQgdG8gdGhlIHJlc3Qgb2YgV2ViS2l0IGFuZCBDaHJvbWl1bQogICAgIC8vIGlu
ZnJhc3RydWN0dXJlLgogICAgIEFTU0VSVCghbV93ZWJWaWV3KTsKLSAgICBtX3dlYlZpZXcgPSBX
ZWJWaWV3OjpjcmVhdGUoMCwgMCwgMCk7CisgICAgbV93ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRl
KDApOwogICAgIG1fd2ViVmlldy0+c2V0dGluZ3MoKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGVFbmFibGVkKFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNBcHBsaWNhdGlvbkNhY2hlRW5hYmxl
ZCgpKTsKICAgICBtX3dlYlZpZXctPmluaXRpYWxpemVNYWluRnJhbWUodGhpcyk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUG9wdXBNZW51VGVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcAkocmV2
aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BvcHVwTWVudVRl
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyArMTgxLDcgQEAgcHVibGljOgogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewotICAgICAgICBtX3dlYlZpZXcg
PSBzdGF0aWNfY2FzdDxXZWJWaWV3SW1wbCo+KFdlYlZpZXc6OmNyZWF0ZSgmbV93ZWJ2aWV3Q2xp
ZW50LCAwLCAwKSk7CisgICAgICAgIG1fd2ViVmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdJbXBs
Kj4oV2ViVmlldzo6Y3JlYXRlKCZtX3dlYnZpZXdDbGllbnQpKTsKICAgICAgICAgbV93ZWJWaWV3
LT5pbml0aWFsaXplTWFpbkZyYW1lKCZtX3dlYkZyYW1lQ2xpZW50KTsKICAgICAgICAgbV9wb3B1
cE1lbnUgPSBhZG9wdFJlZihuZXcgUG9wdXBNZW51Q2hyb21pdW0oJm1fcG9wdXBNZW51Q2xpZW50
KSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJGcmFtZVRl
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViRnJh
bWVUZXN0LmNwcAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1dlYkZyYW1lVGVzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3LDcgQEAgVEVT
VF9GKFdlYkZyYW1lVGVzdCwgQ29udGVudFRleHQpCiAKICAgICAvLyBDcmVhdGUgYW5kIGluaXRp
YWxpemUgdGhlIFdlYlZpZXcuICAgIAogICAgIFRlc3RXZWJGcmFtZUNsaWVudCB3ZWJGcmFtZUNs
aWVudDsKLSAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRlKDAsIDAsIDApOwor
ICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCk7CiAgICAgd2ViVmlldy0+
aW5pdGlhbGl6ZU1haW5GcmFtZSgmd2ViRnJhbWVDbGllbnQpOwogCiAgICAgLy8gTG9hZCB0aGUg
bWFpbiBmcmFtZSBVUkwuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlBh
Z2VTZXJpYWxpemVyVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwCShyZXZpc2lvbiA4MjMxMSkKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViUGFnZVNlcmlhbGl6ZXJUZXN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IFNldFVwKCkKICAgICB7CiAgICAgICAgIC8vIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSB0aGUgV2Vi
Vmlldy4KLSAgICAgICAgbV93ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRlKDAsIDAsIDApOworICAg
ICAgICBtX3dlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCk7CiAgICAgICAgIG1fd2ViVmlldy0+
aW5pdGlhbGl6ZU1haW5GcmFtZSgmbV93ZWJGcmFtZUNsaWVudCk7CiAgICAgfQogCkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9uIDgy
MzExKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTc5LDcgKzU3OSw4IEBAIFdlYlZpZXdIb3N0KiBUZXN0U2hlbGw6OmNy
ZWF0ZU5ld1dpbmRvdygKIFdlYlZpZXdIb3N0KiBUZXN0U2hlbGw6OmNyZWF0ZU5ld1dpbmRvdyhj
b25zdCBXZWJLaXQ6OldlYlVSTCYgdXJsLCBEUlREZXZUb29sc0FnZW50KiBkZXZUb29sc0FnZW50
KQogewogICAgIFdlYlZpZXdIb3N0KiBob3N0ID0gbmV3IFdlYlZpZXdIb3N0KHRoaXMpOwotICAg
IFdlYlZpZXcqIHZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoaG9zdCwgZGV2VG9vbHNBZ2VudCwgMCk7
CisgICAgV2ViVmlldyogdmlldyA9IFdlYlZpZXc6OmNyZWF0ZShob3N0KTsKKyAgICB2aWV3LT5z
ZXREZXZUb29sc0FnZW50Q2xpZW50KGRldlRvb2xzQWdlbnQpOwogICAgIGhvc3QtPnNldFdlYldp
ZGdldCh2aWV3KTsKICAgICBtX3ByZWZzLmFwcGx5VG8odmlldyk7CiAgICAgdmlldy0+aW5pdGlh
bGl6ZU1haW5GcmFtZShob3N0KTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTU2LDYg
KzExNTYsMTIgQEAgV2ViVmlld0hvc3Q6On5XZWJWaWV3SG9zdCgpCiAgICAgICAgIHdlYmtpdF9z
dXBwb3J0OjpRdWl0TWVzc2FnZUxvb3AoKTsKIH0KIAordm9pZCBXZWJWaWV3SG9zdDo6c2V0V2Vi
V2lkZ2V0KFdlYktpdDo6V2ViV2lkZ2V0KiB3aWRnZXQpCit7CisgICAgbV93ZWJXaWRnZXQgPSB3
aWRnZXQ7CisgICAgd2ViVmlldygpLT5zZXRTcGVsbENoZWNrQ2xpZW50KHRoaXMpOworfQorCiBX
ZWJWaWV3KiBXZWJWaWV3SG9zdDo6d2ViVmlldygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fd2Vi
V2lkZ2V0KTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuaAkocmV2aXNpb24gODIzMTEpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAi
V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkN1cnNvckluZm8u
aCIKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgorI2luY2x1ZGUgIldlYlNwZWxsQ2hlY2tD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtNjQsMTEgKzY1LDExIEBAIG5hbWVz
cGFjZSBza2lhIHsKIGNsYXNzIFBsYXRmb3JtQ2FudmFzOwogfQogCi1jbGFzcyBXZWJWaWV3SG9z
dCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1l
Q2xpZW50LCBwdWJsaWMgTmF2aWdhdGlvbkhvc3QgeworY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJs
aWMgV2ViS2l0OjpXZWJTcGVsbENoZWNrQ2xpZW50LCBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1
YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LCBwdWJsaWMgTmF2aWdhdGlvbkhvc3QgewogIHB1
YmxpYzoKICAgICBXZWJWaWV3SG9zdChUZXN0U2hlbGwqIHNoZWxsKTsKICAgICB+V2ViVmlld0hv
c3QoKTsKLSAgICB2b2lkIHNldFdlYldpZGdldChXZWJLaXQ6OldlYldpZGdldCogd2lkZ2V0KSB7
IG1fd2ViV2lkZ2V0ID0gd2lkZ2V0OyB9CisgICAgdm9pZCBzZXRXZWJXaWRnZXQoV2ViS2l0OjpX
ZWJXaWRnZXQqKTsKICAgICBXZWJLaXQ6OldlYlZpZXcqIHdlYlZpZXcoKSBjb25zdDsKICAgICBX
ZWJLaXQ6OldlYldpZGdldCogd2ViV2lkZ2V0KCkgY29uc3Q7CiAgICAgdm9pZCByZXNldCgpOwpA
QCAtMTA0LDYgKzEwNSwxMSBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YlZpCiAgICAgLy8gTmF2aWdhdGlvbkhvc3QKICAgICB2aXJ0dWFsIGJvb2wgbmF2aWdhdGUoY29u
c3QgVGVzdE5hdmlnYXRpb25FbnRyeSYsIGJvb2wgcmVsb2FkKTsKIAorICAgIC8vIFdlYktpdDo6
V2ViU3BlbGxDaGVja0NsaWVudAorICAgIHZpcnR1YWwgdm9pZCBzcGVsbENoZWNrKGNvbnN0IFdl
YktpdDo6V2ViU3RyaW5nJiwgaW50JiBvZmZzZXQsIGludCYgbGVuZ3RoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdENoZWNraW5nT2ZUZXh0KGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiwgV2Vi
S2l0OjpXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uKik7CisgICAgdmlydHVhbCBXZWJLaXQ6Oldl
YlN0cmluZyBhdXRvQ29ycmVjdFdvcmQoY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmKTsKKwogICAg
IC8vIFdlYktpdDo6V2ViVmlld0NsaWVudAogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJWaWV3KiBj
cmVhdGVWaWV3KFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3Qm
LCBjb25zdCBXZWJLaXQ6OldlYldpbmRvd0ZlYXR1cmVzJiwgY29uc3QgV2ViS2l0OjpXZWJTdHJp
bmcmKTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViV2lkZ2V0KiBjcmVhdGVQb3B1cE1lbnUoV2Vi
S2l0OjpXZWJQb3B1cFR5cGUpOwpAQCAtMTI2LDkgKzEzMiw2IEBAIGNsYXNzIFdlYlZpZXdIb3N0
IDogcHVibGljIFdlYktpdDo6V2ViVmkKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVu
dHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwgYm9v
bCBoYW5kbGVDdXJyZW50S2V5Ym9hcmRFdmVudCgpOwotICAgIHZpcnR1YWwgdm9pZCBzcGVsbENo
ZWNrKGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiwgaW50JiBvZmZzZXQsIGludCYgbGVuZ3RoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdENoZWNraW5nT2ZUZXh0KGNvbnN0IFdlYktpdDo6V2Vi
U3RyaW5nJiwgV2ViS2l0OjpXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uKik7Ci0gICAgdmlydHVh
bCBXZWJLaXQ6OldlYlN0cmluZyBhdXRvQ29ycmVjdFdvcmQoY29uc3QgV2ViS2l0OjpXZWJTdHJp
bmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcnVuTW9kYWxBbGVydERpYWxvZyhXZWJLaXQ6OldlYkZy
YW1lKiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuTW9k
YWxDb25maXJtRGlhbG9nKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYlN0cmlu
ZyYpOwogICAgIHZpcnR1YWwgYm9vbCBydW5Nb2RhbFByb21wdERpYWxvZyhXZWJLaXQ6OldlYkZy
YW1lKiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdlYktpdDo6V2Vi
U3RyaW5nJiBkZWZhdWx0VmFsdWUsIFdlYktpdDo6V2ViU3RyaW5nKiBhY3R1YWxWYWx1ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87472</attachid>
            <date>2011-03-30 00:00:51 -0700</date>
            <delta_ts>2011-03-30 09:57:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57396-20110330000015.patch</filename>
            <type>text/plain</type>
            <size>17219</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjM0MikKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTEtMDMtMjkgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1d
OiBSZW1vdmUgdGhlIGNvZGUgdGhhdCBjYWxsZWQgV2ViVmlld0NsaWVudCBmb3Igc3BlbGxpbmcg
bm93IHRoYXQgY2hyb21pdW0gaXMgdXBkYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczOTYKKworICAgICAgICAqIERFUFM6CisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAg
KiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50
OjpoYW5kbGVDdXJyZW50S2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpjaGVja1NwZWxs
aW5nT2ZTdHJpbmcpOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXF1ZXN0
Q2hlY2tpbmdPZlN0cmluZyk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6Omdl
dEF1dG9Db3JyZWN0U3VnZ2VzdGlvbkZvck1pc3NwZWxsZWRXb3JkKToKKyAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6
CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnNob3dTcGVsbGluZ1VJKToKKyAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZyk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6
Y3JlYXRlKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckJhc2U6OmluaXRpYWxp
emVMb2FkZXIpOgorICAgICAgICAqIHRlc3RzL1BvcHVwTWVudVRlc3QuY3BwOgorICAgICAgICAo
V2ViS2l0OjpTZWxlY3RQb3B1cE1lbnVUZXN0OjpTZXRVcCk6CisgICAgICAgICogdGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAgICAgICAgKiB0ZXN0
cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlU2Vy
aWFsaXplclRlc3Q6OlNldFVwKToKKwogMjAxMS0wMy0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjgyMjkzLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9ERVBTCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vREVQUwkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0RFUFMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAog
dmFycyA9IHsKICAgJ2Nocm9taXVtX3N2bic6ICdodHRwOi8vc3JjLmNocm9taXVtLm9yZy9zdm4v
dHJ1bmsvc3JjJywKLSAgJ2Nocm9taXVtX3Jldic6ICc3OTcxMCcKKyAgJ2Nocm9taXVtX3Jldic6
ICc3OTc1OScKIH0KIAogZGVwcyA9IHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw5ICs3Myw2IEBAIHN0cnVj
dCBXZWJTaXplOwogc3RydWN0IFdlYlVSTExvYWRlck9wdGlvbnM7CiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gY2xhc3MgV2ViVmVjdG9yOwogCi0vLyBGSVhNRShqYW0pOiB0YWtlIHRoaXMgb3V0IG9u
Y2UgQ2hyb21pdW0gaGFzIHRoaXMKLSNkZWZpbmUgV0VCRlJBTUVfUFJJTlRCRUdJTl9UQUtFU19O
T0RFCi0KIGNsYXNzIFdlYkZyYW1lIHsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBudW1i
ZXIgb2YgbGl2ZSBXZWJGcmFtZSBvYmplY3RzLCB1c2VkIGZvciBsZWFrIGNoZWNraW5nLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2aXNpb24gODIzMTEp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDEwICs4NCw3IEBAIHB1YmxpYzoKICAgICAvLyBDcmVhdGVzIGEgV2ViVmlldyB0
aGF0IGlzIE5PVCB5ZXQgaW5pdGlhbGl6ZWQuICBZb3Ugd2lsbCBuZWVkIHRvCiAgICAgLy8gY2Fs
bCBpbml0aWFsaXplTWFpbkZyYW1lIHRvIGZpbmlzaCB0aGUgaW5pdGlhbGl6YXRpb24uICBJdCBp
cyB2YWxpZAogICAgIC8vIHRvIHBhc3MgbnVsbCBjbGllbnQgcG9pbnRlcnMuCi0gICAgLy8gRklY
TUUoamFtKTogdGFrZSBvdXQgZGVmYXVsdCBwYXJhbWV0ZXJzIG9uY2UgY2hyb21pdW0gc3RvcHMg
cGFzc2luZyB0aGVtLgotICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYlZpZXcqIGNyZWF0ZShXZWJW
aWV3Q2xpZW50KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRGV2
VG9vbHNBZ2VudENsaWVudCogPSAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXZWJBdXRvRmlsbENsaWVudCogPSAwKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyBXZWJW
aWV3KiBjcmVhdGUoV2ViVmlld0NsaWVudCopOwogCiAgICAgLy8gQWZ0ZXIgY3JlYXRpbmcgYSBX
ZWJWaWV3LCB5b3Ugc2hvdWxkIGltbWVkaWF0ZWx5IGNhbGwgdGhpcyBtZXRob2QuCiAgICAgLy8g
WW91IGNhbiBvcHRpb25hbGx5IG1vZGlmeSB0aGUgc2V0dGluZ3MgYmVmb3JlIGNhbGxpbmcgdGhp
cyBtZXRob2QuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
d0NsaWVudC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNiBAQCBjbGFz
cyBXZWJSYW5nZTsKIGNsYXNzIFdlYlNwZWVjaElucHV0Q29udHJvbGxlcjsKIGNsYXNzIFdlYlNw
ZWVjaElucHV0TGlzdGVuZXI7CiBjbGFzcyBXZWJTdG9yYWdlTmFtZXNwYWNlOwotY2xhc3MgV2Vi
VGV4dENoZWNraW5nQ29tcGxldGlvbjsKIGNsYXNzIFdlYlVSTDsKIGNsYXNzIFdlYlVSTFJlcXVl
c3Q7CiBjbGFzcyBXZWJWaWV3OwpAQCAtMTcwLDMzICsxNjksNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGhhbmRsZUN1cnJlbnRLZXlib2FyZEV2ZW50KCkgeyByZXR1cm4gZmFsc2U7IH0K
IAogCi0gICAgLy8gU3BlbGxjaGVja2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2Ug
Y2hyb21pdW0gaXMgdXBkYXRlZCB0byB1c2UgV2ViU3BlbGxDaGVja0NsaWVudAotCi0gICAgLy8g
VGhlIGNsaWVudCBzaG91bGQgcGVyZm9ybSBzcGVsbC1jaGVja2luZyBvbiB0aGUgZ2l2ZW4gdGV4
dC4gIElmIHRoZQotICAgIC8vIHRleHQgY29udGFpbnMgYSBtaXNzcGVsbGVkIHdvcmQsIHRoZW4g
dXBvbiByZXR1cm4gbWlzc3BlbGxlZE9mZnNldAotICAgIC8vIHdpbGwgcG9pbnQgdG8gdGhlIHN0
YXJ0IG9mIHRoZSBtaXNzcGVsbGVkIHdvcmQsIGFuZCBtaXNzcGVsbGVkTGVuZ3RoCi0gICAgLy8g
d2lsbCBpbmRpY2F0ZXMgaXRzIGxlbmd0aC4gIE90aGVyd2lzZSwgaWYgdGhlcmUgd2FzIG5vdCBh
IHNwZWxsaW5nCi0gICAgLy8gZXJyb3IsIHRoZW4gdXBvbiByZXR1cm4gbWlzc3BlbGxlZExlbmd0
aCBpcyAwLgotICAgIHZpcnR1YWwgdm9pZCBzcGVsbENoZWNrKAotICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIHRleHQsIGludCYgbWlzc3BlbGxlZE9mZnNldCwgaW50JiBtaXNzcGVsbGVkTGVuZ3Ro
KSB7IH0KLSAgICAvLyBSZXF1ZXN0cyBhc3luY2hyb25vdXMgc3BlbGxpbmcgYW5kIGdyYW1tYXIg
Y2hlY2tpbmcsIHdob3NlIHJlc3VsdCBzaG91bGQgYmUKLSAgICAvLyByZXR1cm5lZCBieSBwYXNz
ZWQgY29tcGxldGlvbiBvYmplY3QuCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09m
VGV4dChjb25zdCBXZWJTdHJpbmcmLCBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uKikgeyB9Ci0g
ICAgLy8gQ29tcHV0ZXMgYW4gYXV0by1jb3JyZWN0ZWQgcmVwbGFjZW1lbnQgZm9yIGEgbWlzc3Bl
bGxlZCB3b3JkLiAgSWYgbm8KLSAgICAvLyByZXBsYWNlbWVudCBpcyBmb3VuZCwgdGhlbiBhbiBl
bXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuCi0gICAgdmlydHVhbCBXZWJTdHJpbmcgYXV0b0NvcnJl
Y3RXb3JkKGNvbnN0IFdlYlN0cmluZyYgbWlzc3BlbGxlZFdvcmQpIHsgcmV0dXJuIFdlYlN0cmlu
ZygpOyB9Ci0KLSAgICAvLyBTaG93IG9yIGhpZGUgdGhlIHNwZWxsaW5nIFVJLgotICAgIHZpcnR1
YWwgdm9pZCBzaG93U3BlbGxpbmdVSShib29sIHNob3cpIHsgfQotCi0gICAgLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBzcGVsbGluZyBVSSBpcyBzaG93aW5nLgotICAgIHZpcnR1YWwgYm9vbCBpc1No
b3dpbmdTcGVsbGluZ1VJKCkgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIC8vIFVwZGF0ZSB0aGUg
c3BlbGxpbmcgVUkgd2l0aCB0aGUgZ2l2ZW4gd29yZC4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
U3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChjb25zdCBXZWJTdHJpbmcmIHdvcmQpIHsgfQot
Ci0KICAgICAvLyBEaWFsb2dzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFRoaXMgbWV0aG9kIHJldHVybnMgaW1t
ZWRpYXRlbHkgYWZ0ZXIgc2hvd2luZyB0aGUgZGlhbG9nLiBXaGVuIHRoZQpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9u
IDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg1NywxMSArODU3LDggQEAgdm9pZCBFZGl0b3JDbGllbnRJ
bXBsOjpjaGVja1NwZWxsaW5nT2ZTdAogICAgIGludCBzcGVsbExlbmd0aCA9IDA7CiAKICAgICAv
LyBDaGVjayB0byBzZWUgaWYgdGhlIHByb3ZpZGVkIHRleHQgaXMgc3BlbGxlZCBjb3JyZWN0bHku
Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAg
aWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93ZWJWaWV3LT5zcGVs
bENoZWNrQ2xpZW50KCkpCiAgICAgICAgIG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpLT5z
cGVsbENoZWNrKFdlYlN0cmluZyh0ZXh0LCBsZW5ndGgpLCBzcGVsbExvY2F0aW9uLCBzcGVsbExl
bmd0aCk7Ci0gICAgaWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkgJiYgbV93
ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+c3BlbGxDaGVj
ayhXZWJTdHJpbmcodGV4dCwgbGVuZ3RoKSwgc3BlbGxMb2NhdGlvbiwgc3BlbGxMZW5ndGgpOwog
ICAgIGVsc2UgewogICAgICAgICBzcGVsbExvY2F0aW9uID0gMDsKICAgICAgICAgc3BlbGxMZW5n
dGggPSAwOwpAQCAtODc3LDExICs4NzQsOCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmNoZWNr
U3BlbGxpbmdPZlN0CiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVxdWVzdENoZWNraW5nT2ZT
dHJpbmcoU3BlbGxDaGVja2VyKiBzZW5kZXIsIGludCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHRleHQpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0
ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQogICAgICAgICBtX3dl
YlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+cmVxdWVzdENoZWNraW5nT2ZUZXh0KHRleHQsIG5l
dyBXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uSW1wbChpZGVudGlmaWVyLCBzZW5kZXIpKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPnJlcXVlc3RDaGVja2luZ09mVGV4
dCh0ZXh0LCBuZXcgV2ViVGV4dENoZWNraW5nQ29tcGxldGlvbkltcGwoaWRlbnRpZmllciwgc2Vu
ZGVyKSk7CiB9CiAKIFN0cmluZyBFZGl0b3JDbGllbnRJbXBsOjpnZXRBdXRvQ29ycmVjdFN1Z2dl
c3Rpb25Gb3JNaXNzcGVsbGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQpAQCAt
ODk2LDEwICs4OTAsOSBAQCBTdHJpbmcgRWRpdG9yQ2xpZW50SW1wbDo6Z2V0QXV0b0NvcnJlY3RT
CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQogCi0gICAgLy8gRklYTUUoamFt
KTogcmVtb3ZlIG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3Bl
bGxDaGVja0NsaWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xp
ZW50KCktPmF1dG9Db3JyZWN0V29yZChXZWJTdHJpbmcobWlzc3BlbGxlZFdvcmQpKTsKLSAgICBy
ZXR1cm4gbV93ZWJWaWV3LT5jbGllbnQoKS0+YXV0b0NvcnJlY3RXb3JkKFdlYlN0cmluZyhtaXNz
cGVsbGVkV29yZCkpOworICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAogdm9pZCBFZGl0b3JDbGll
bnRJbXBsOjpjaGVja0dyYW1tYXJPZlN0cmluZyhjb25zdCBVQ2hhciosIGludCBsZW5ndGgsCkBA
IC05MjIsMjkgKzkxNSwyMCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OnVwZGF0ZVNwZWxsaW5n
VUlXCiAKIHZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVs
bGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQogewotICAgIC8vIEZJWE1FKGph
bSk6IHJlbW92ZSBvbmNlIGNocm9tZSBpcyB1cGRhdGVkLgogICAgIGlmIChtX3dlYlZpZXctPnNw
ZWxsQ2hlY2tDbGllbnQoKSkKICAgICAgICAgbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCkt
PnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoV2ViU3RyaW5nKG1pc3NwZWxsZWRX
b3JkKSk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJW
aWV3LT5jbGllbnQoKS0+dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChXZWJTdHJp
bmcobWlzc3BlbGxlZFdvcmQpKTsKIH0KIAogdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpzaG93U3Bl
bGxpbmdVSShib29sIHNob3cpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3ZlIG9uY2UgY2hy
b21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKQog
ICAgICAgICBtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hv
dyk7Ci0gICAgZWxzZSBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+c2hvd1NwZWxsaW5nVUkoc2hvdyk7CiB9CiAKIGJvb2wgRWRpdG9yQ2xpZW50
SW1wbDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCiB7Ci0gICAgLy8gRklYTUUoamFtKTogcmVtb3Zl
IG9uY2UgY2hyb21lIGlzIHVwZGF0ZWQuCiAgICAgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0Ns
aWVudCgpKQogICAgICAgICByZXR1cm4gbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCktPmlz
U2hvd2luZ1NwZWxsaW5nVUkoKTsKLSAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkKLSAgICAg
ICAgcmV0dXJuIG1fd2ViVmlldy0+Y2xpZW50KCktPmlzU2hvd2luZ1NwZWxsaW5nVUkoKTsKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsMTMgKzIxMiwxMyBA
QCBzdGF0aWMgYm9vbCBzaG91bGRVc2VFeHRlcm5hbFBvcHVwTWVudXMKIAogLy8gV2ViVmlldyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKLVdlYlZpZXcqIFdlYlZpZXc6OmNyZWF0ZShXZWJWaWV3Q2xpZW50KiBjbGllbnQs
IFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBXZWJBdXRvRmlsbENsaWVu
dCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3KiBXZWJWaWV3OjpjcmVhdGUoV2ViVmlld0NsaWVu
dCogY2xpZW50KQogewogICAgIC8vIEtlZXAgcnVudGltZSBmbGFnIGZvciBkZXZpY2UgbW90aW9u
IHR1cm5lZCBvZmYgdW50aWwgaXQncyBpbXBsZW1lbnRlZC4KICAgICBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZURldmljZU1vdGlvbihmYWxzZSk7CiAKICAgICAvLyBQYXNzIHRoZSBXZWJWaWV3
SW1wbCdzIHNlbGYtcmVmZXJlbmNlIHRvIHRoZSBjYWxsZXIuCi0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJWaWV3SW1wbChjbGllbnQsIGRldlRvb2xzQ2xpZW50LCBhdXRvRmlsbENsaWVudCkp
LmxlYWtSZWYoKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlZpZXdJbXBsKGNsaWVudCkp
LmxlYWtSZWYoKTsKIH0KIAogdm9pZCBXZWJWaWV3OjpzZXRVc2VFeHRlcm5hbFBvcHVwTWVudXMo
Ym9vbCB1c2VFeHRlcm5hbFBvcHVwTWVudXMpCkBAIC0yODgsOSArMjg4LDkgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6c2V0U3BlbGxDaGVja0NsaWVudChXZQogICAgIG1fc3BlbGxDaGVja0NsaWVudCA9
IHNwZWxsQ2hlY2tDbGllbnQ7CiB9CiAKLVdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3
Q2xpZW50KiBjbGllbnQsIFdlYkRldlRvb2xzQWdlbnRDbGllbnQqIGRldlRvb2xzQ2xpZW50LCBX
ZWJBdXRvRmlsbENsaWVudCogYXV0b0ZpbGxDbGllbnQpCitXZWJWaWV3SW1wbDo6V2ViVmlld0lt
cGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9hdXRvRmlsbENsaWVudChhdXRvRmlsbENsaWVudCkKKyAgICAsIG1fYXV0b0ZpbGxDbGllbnQo
MCkKICAgICAsIG1fc3BlbGxDaGVja0NsaWVudCgwKQogICAgICwgbV9jaHJvbWVDbGllbnRJbXBs
KHRoaXMpCiAgICAgLCBtX2NvbnRleHRNZW51Q2xpZW50SW1wbCh0aGlzKQpAQCAtMzM5LDggKzMz
OSw2IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KgogICAgIC8vIHNl
dCB0byBpbXBvc3NpYmxlIHBvaW50IHNvIHdlIGFsd2F5cyBnZXQgdGhlIGZpcnN0IG1vdXNlIHBv
cwogICAgIG1fbGFzdE1vdXNlUG9zaXRpb24gPSBXZWJQb2ludCgtMSwgLTEpOwogCi0gICAgc2V0
RGV2VG9vbHNBZ2VudENsaWVudChkZXZUb29sc0NsaWVudCk7Ci0KICAgICBQYWdlOjpQYWdlQ2xp
ZW50cyBwYWdlQ2xpZW50czsKICAgICBwYWdlQ2xpZW50cy5jaHJvbWVDbGllbnQgPSAmbV9jaHJv
bWVDbGllbnRJbXBsOwogICAgIHBhZ2VDbGllbnRzLmNvbnRleHRNZW51Q2xpZW50ID0gJm1fY29u
dGV4dE1lbnVDbGllbnRJbXBsOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCShyZXZpc2lvbiA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3Myw3ICszNzMsNyBAQCBwcml2YXRl
OgogICAgICAgRHJhZ092ZXIKICAgICB9OwogCi0gICAgV2ViVmlld0ltcGwoV2ViVmlld0NsaWVu
dCosIFdlYkRldlRvb2xzQWdlbnRDbGllbnQqLCBXZWJBdXRvRmlsbENsaWVudCopOworICAgIFdl
YlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqKTsKICAgICB+V2ViVmlld0ltcGwoKTsKIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGUgZXZlbnQgd2FzIGFjdHVhbGx5IHByb2Nlc3NlZC4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwCShyZXZpc2lv
biA4MjMxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBXZWJXb3JrZXJCYXNlOjpp
bml0aWFsaXplTG9hZGVyKGNvbgogICAgIC8vIGxvYWRpbmcgcmVxdWVzdHMgZnJvbSB0aGUgd29y
a2VyIGNvbnRleHQgdG8gdGhlIHJlc3Qgb2YgV2ViS2l0IGFuZCBDaHJvbWl1bQogICAgIC8vIGlu
ZnJhc3RydWN0dXJlLgogICAgIEFTU0VSVCghbV93ZWJWaWV3KTsKLSAgICBtX3dlYlZpZXcgPSBX
ZWJWaWV3OjpjcmVhdGUoMCwgMCwgMCk7CisgICAgbV93ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRl
KDApOwogICAgIG1fd2ViVmlldy0+c2V0dGluZ3MoKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGVFbmFibGVkKFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNBcHBsaWNhdGlvbkNhY2hlRW5hYmxl
ZCgpKTsKICAgICBtX3dlYlZpZXctPmluaXRpYWxpemVNYWluRnJhbWUodGhpcyk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUG9wdXBNZW51VGVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcAkocmV2
aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BvcHVwTWVudVRl
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyArMTgxLDcgQEAgcHVibGljOgogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewotICAgICAgICBtX3dlYlZpZXcg
PSBzdGF0aWNfY2FzdDxXZWJWaWV3SW1wbCo+KFdlYlZpZXc6OmNyZWF0ZSgmbV93ZWJ2aWV3Q2xp
ZW50LCAwLCAwKSk7CisgICAgICAgIG1fd2ViVmlldyA9IHN0YXRpY19jYXN0PFdlYlZpZXdJbXBs
Kj4oV2ViVmlldzo6Y3JlYXRlKCZtX3dlYnZpZXdDbGllbnQpKTsKICAgICAgICAgbV93ZWJWaWV3
LT5pbml0aWFsaXplTWFpbkZyYW1lKCZtX3dlYkZyYW1lQ2xpZW50KTsKICAgICAgICAgbV9wb3B1
cE1lbnUgPSBhZG9wdFJlZihuZXcgUG9wdXBNZW51Q2hyb21pdW0oJm1fcG9wdXBNZW51Q2xpZW50
KSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJGcmFtZVRl
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViRnJh
bWVUZXN0LmNwcAkocmV2aXNpb24gODIzMTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1dlYkZyYW1lVGVzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3LDcgQEAgVEVT
VF9GKFdlYkZyYW1lVGVzdCwgQ29udGVudFRleHQpCiAKICAgICAvLyBDcmVhdGUgYW5kIGluaXRp
YWxpemUgdGhlIFdlYlZpZXcuICAgIAogICAgIFRlc3RXZWJGcmFtZUNsaWVudCB3ZWJGcmFtZUNs
aWVudDsKLSAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRlKDAsIDAsIDApOwor
ICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCk7CiAgICAgd2ViVmlldy0+
aW5pdGlhbGl6ZU1haW5GcmFtZSgmd2ViRnJhbWVDbGllbnQpOwogCiAgICAgLy8gTG9hZCB0aGUg
bWFpbiBmcmFtZSBVUkwuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlBh
Z2VTZXJpYWxpemVyVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9XZWJQYWdlU2VyaWFsaXplclRlc3QuY3BwCShyZXZpc2lvbiA4MjMxMSkKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViUGFnZVNlcmlhbGl6ZXJUZXN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IFNldFVwKCkKICAgICB7CiAgICAgICAgIC8vIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSB0aGUgV2Vi
Vmlldy4KLSAgICAgICAgbV93ZWJWaWV3ID0gV2ViVmlldzo6Y3JlYXRlKDAsIDAsIDApOworICAg
ICAgICBtX3dlYlZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoMCk7CiAgICAgICAgIG1fd2ViVmlldy0+
aW5pdGlhbGl6ZU1haW5GcmFtZSgmbV93ZWJGcmFtZUNsaWVudCk7CiAgICAgfQogCkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9uIDgy
MzExKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTc5LDcgKzU3OSw4IEBAIFdlYlZpZXdIb3N0KiBUZXN0U2hlbGw6OmNy
ZWF0ZU5ld1dpbmRvdygKIFdlYlZpZXdIb3N0KiBUZXN0U2hlbGw6OmNyZWF0ZU5ld1dpbmRvdyhj
b25zdCBXZWJLaXQ6OldlYlVSTCYgdXJsLCBEUlREZXZUb29sc0FnZW50KiBkZXZUb29sc0FnZW50
KQogewogICAgIFdlYlZpZXdIb3N0KiBob3N0ID0gbmV3IFdlYlZpZXdIb3N0KHRoaXMpOwotICAg
IFdlYlZpZXcqIHZpZXcgPSBXZWJWaWV3OjpjcmVhdGUoaG9zdCwgZGV2VG9vbHNBZ2VudCwgMCk7
CisgICAgV2ViVmlldyogdmlldyA9IFdlYlZpZXc6OmNyZWF0ZShob3N0KTsKKyAgICB2aWV3LT5z
ZXREZXZUb29sc0FnZW50Q2xpZW50KGRldlRvb2xzQWdlbnQpOwogICAgIGhvc3QtPnNldFdlYldp
ZGdldCh2aWV3KTsKICAgICBtX3ByZWZzLmFwcGx5VG8odmlldyk7CiAgICAgdmlldy0+aW5pdGlh
bGl6ZU1haW5GcmFtZShob3N0KTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDgyMzExKQorKysgVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTU2LDYg
KzExNTYsMTIgQEAgV2ViVmlld0hvc3Q6On5XZWJWaWV3SG9zdCgpCiAgICAgICAgIHdlYmtpdF9z
dXBwb3J0OjpRdWl0TWVzc2FnZUxvb3AoKTsKIH0KIAordm9pZCBXZWJWaWV3SG9zdDo6c2V0V2Vi
V2lkZ2V0KFdlYktpdDo6V2ViV2lkZ2V0KiB3aWRnZXQpCit7CisgICAgbV93ZWJXaWRnZXQgPSB3
aWRnZXQ7CisgICAgd2ViVmlldygpLT5zZXRTcGVsbENoZWNrQ2xpZW50KHRoaXMpOworfQorCiBX
ZWJWaWV3KiBXZWJWaWV3SG9zdDo6d2ViVmlldygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fd2Vi
V2lkZ2V0KTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuaAkocmV2aXNpb24gODIzMTEpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAi
V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkN1cnNvckluZm8u
aCIKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgorI2luY2x1ZGUgIldlYlNwZWxsQ2hlY2tD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtNjQsMTEgKzY1LDExIEBAIG5hbWVz
cGFjZSBza2lhIHsKIGNsYXNzIFBsYXRmb3JtQ2FudmFzOwogfQogCi1jbGFzcyBXZWJWaWV3SG9z
dCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1l
Q2xpZW50LCBwdWJsaWMgTmF2aWdhdGlvbkhvc3QgeworY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJs
aWMgV2ViS2l0OjpXZWJTcGVsbENoZWNrQ2xpZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJWaWV3Q2xp
ZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVudCwgcHVibGljIE5hdmlnYXRpb25Ib3N0
IHsKICBwdWJsaWM6CiAgICAgV2ViVmlld0hvc3QoVGVzdFNoZWxsKiBzaGVsbCk7CiAgICAgfldl
YlZpZXdIb3N0KCk7Ci0gICAgdm9pZCBzZXRXZWJXaWRnZXQoV2ViS2l0OjpXZWJXaWRnZXQqIHdp
ZGdldCkgeyBtX3dlYldpZGdldCA9IHdpZGdldDsgfQorICAgIHZvaWQgc2V0V2ViV2lkZ2V0KFdl
YktpdDo6V2ViV2lkZ2V0Kik7CiAgICAgV2ViS2l0OjpXZWJWaWV3KiB3ZWJWaWV3KCkgY29uc3Q7
CiAgICAgV2ViS2l0OjpXZWJXaWRnZXQqIHdlYldpZGdldCgpIGNvbnN0OwogICAgIHZvaWQgcmVz
ZXQoKTsKQEAgLTEwNCw2ICsxMDUsMTEgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2Vi
S2l0OjpXZWJWaQogICAgIC8vIE5hdmlnYXRpb25Ib3N0CiAgICAgdmlydHVhbCBib29sIG5hdmln
YXRlKGNvbnN0IFRlc3ROYXZpZ2F0aW9uRW50cnkmLCBib29sIHJlbG9hZCk7CiAKKyAgICAvLyBX
ZWJLaXQ6OldlYlNwZWxsQ2hlY2tDbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgc3BlbGxDaGVjayhj
b25zdCBXZWJLaXQ6OldlYlN0cmluZyYsIGludCYgb2Zmc2V0LCBpbnQmIGxlbmd0aCk7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09mVGV4dChjb25zdCBXZWJLaXQ6OldlYlN0cmlu
ZyYsIFdlYktpdDo6V2ViVGV4dENoZWNraW5nQ29tcGxldGlvbiopOworICAgIHZpcnR1YWwgV2Vi
S2l0OjpXZWJTdHJpbmcgYXV0b0NvcnJlY3RXb3JkKGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJik7
CisKICAgICAvLyBXZWJLaXQ6OldlYlZpZXdDbGllbnQKICAgICB2aXJ0dWFsIFdlYktpdDo6V2Vi
VmlldyogY3JlYXRlVmlldyhXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxS
ZXF1ZXN0JiwgY29uc3QgV2ViS2l0OjpXZWJXaW5kb3dGZWF0dXJlcyYsIGNvbnN0IFdlYktpdDo6
V2ViU3RyaW5nJik7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYldpZGdldCogY3JlYXRlUG9wdXBN
ZW51KFdlYktpdDo6V2ViUG9wdXBUeXBlKTsKQEAgLTEyNiw5ICsxMzIsNiBAQCBjbGFzcyBXZWJW
aWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZUNvbnRlbnRzKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0
dWFsIGJvb2wgaGFuZGxlQ3VycmVudEtleWJvYXJkRXZlbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQg
c3BlbGxDaGVjayhjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYsIGludCYgb2Zmc2V0LCBpbnQmIGxl
bmd0aCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RDaGVja2luZ09mVGV4dChjb25zdCBXZWJL
aXQ6OldlYlN0cmluZyYsIFdlYktpdDo6V2ViVGV4dENoZWNraW5nQ29tcGxldGlvbiopOwotICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJTdHJpbmcgYXV0b0NvcnJlY3RXb3JkKGNvbnN0IFdlYktpdDo6
V2ViU3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHJ1bk1vZGFsQWxlcnREaWFsb2coV2ViS2l0
OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJik7CiAgICAgdmlydHVhbCBib29s
IHJ1bk1vZGFsQ29uZmlybURpYWxvZyhXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpX
ZWJTdHJpbmcmKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuTW9kYWxQcm9tcHREaWFsb2coV2ViS2l0
OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXZWJL
aXQ6OldlYlN0cmluZyYgZGVmYXVsdFZhbHVlLCBXZWJLaXQ6OldlYlN0cmluZyogYWN0dWFsVmFs
dWUpOwo=
</data>
<flag name="review"
          id="79911"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>