<?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>21759</bug_id>
          
          <creation_ts>2008-10-20 14:19:47 -0700</creation_ts>
          <short_desc>Layering violation: FileChooser should not depend on Document/Frame/Page</short_desc>
          <delta_ts>2008-10-24 23:02:31 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>
          
          <blocked>21354</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96036</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-10-20 14:19:47 -0700</bug_when>
    <thetext>It is a layering violation for FileChooser to depend on Document, Frame and Page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96037</commentid>
    <comment_count>1</comment_count>
      <attachid>24530</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-10-20 14:21:17 -0700</bug_when>
    <thetext>Created attachment 24530
WIP patch

Adele is working on changes to the FileChooser, so this patch may not apply cleanly after she is done.  I will fix it up and attach a new one when she lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96632</commentid>
    <comment_count>2</comment_count>
      <attachid>24667</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-10-24 18:56:31 -0700</bug_when>
    <thetext>Created attachment 24667
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96636</commentid>
    <comment_count>3</comment_count>
      <attachid>24667</attachid>
    <who name="">mitz</who>
    <bug_when>2008-10-24 21:39:35 -0700</bug_when>
    <thetext>Comment on attachment 24667
patch

r=me. Please remove the old Gtk code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96642</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-10-24 23:02:31 -0700</bug_when>
    <thetext>Landed in r37880.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24530</attachid>
            <date>2008-10-20 14:21:17 -0700</date>
            <delta_ts>2008-10-24 18:56:31 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>fileChooserFix.diff</filename>
            <type>text/plain</type>
            <size>8564</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCShyZXZpc2lvbiAzNzc0NSkKKysrIFdlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNzIsNiArMzcyLDExIEBAIHZvaWQgQ2hyb21lOjplbmFibGVT
dWRkZW5UZXJtaW5hdGlvbigpCiAgICAgbV9jbGllbnQtPmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
KCk7CiB9CiAKK3ZvaWQgQ2hyb21lOjpydW5PcGVuUGFuZWwoRmlsZUNob29zZXIqIGZpbGVDaG9v
c2VyKQoreworICAgIG1fY2xpZW50LT5ydW5PcGVuUGFuZWwoZmlsZUNob29zZXIpCit9CisKIC8v
IC0tLS0tLS0tCiAKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvQ2hyb21lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nocm9tZS5oCShyZXZp
c2lvbiAzNzc0NSkKKysrIFdlYkNvcmUvcGFnZS9DaHJvbWUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTE1LDYgKzExNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBlbmFibGVT
dWRkZW5UZXJtaW5hdGlvbigpOwogICAgICAgICB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlv
bigpOwogCisgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZpbGVDaG9vc2VyKik7CisKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgICAgIHZvaWQgZm9jdXNOU1ZpZXcoTlNWaWV3Kik7CiAjZW5kaWYK
SW5kZXg6IFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDM3NzQ1KQorKysgV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDcsOSArMTQ3LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxv
YXQgdmFsdWUsIGZsb2F0IHByb3BvcnRpb24sIFNjcm9sbGJhckNvbnRyb2xQYXJ0TWFzayk7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgdmly
dHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CiAKKyNpZiBQ
TEFURk9STShNQUMpCiAgICAgICAgIHZpcnR1YWwgS2V5Ym9hcmRVSU1vZGUga2V5Ym9hcmRVSU1v
ZGUoKSB7IHJldHVybiBLZXlib2FyZEFjY2Vzc0RlZmF1bHQ7IH0KIAogICAgICAgICB2aXJ0dWFs
IE5TUmVzcG9uZGVyICpmaXJzdFJlc3BvbmRlcigpIHsgcmV0dXJuIDA7IH0KSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVDaG9vc2VyLmgJKHJldmlzaW9uIDM3NzQ1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
Q2hvb3Nlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw2IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBGb250OwogY2xhc3MgSWNvbjsKIApA
QCAtNTIsMTMgKzUxLDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY29ubmVjdENsaWVudCgpIHsg
bV9jbGllbnQgPSAwOyB9CiAgICAgYm9vbCBkaXNjb25uZWN0ZWQoKSB7IHJldHVybiAhbV9jbGll
bnQ7IH0KIAotICAgIC8vIEZJWE1FOiBJdCdzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uIHRoYXQgd2Ug
cGFzcyBhIERvY3VtZW50IGluIGhlcmUuCi0gICAgLy8gVGhlIHBsYXRmb3JtIGRpcmVjdG9yeSBp
cyB1bmRlcm5lYXRoIHRoZSBET00sIHNvIGl0IGNhbid0IHVzZSB0aGUgRE9NLgotICAgIC8vIEJl
Y2F1c2Ugb2YgVUkgZGVsZWdhdGVzLCBpdCdzIG5vdCBjbGVhciB0aGF0IHRoZSBGaWxlQ2hvb3Nl
ciBjbGFzcwotICAgIC8vIGJlbG9uZ3MgaW4gdGhlIHBsYXRmb3JtIGxheWVyIGF0IGFsbC4gSXQg
bWlnaHQgbmVlZCB0byBnbyBhbG9uZ3NpZGUKLSAgICAvLyB0aGUgQ2hyb21lIGNsYXNzIGluc3Rl
YWQuCi0gICAgdm9pZCBvcGVuRmlsZUNob29zZXIoRG9jdW1lbnQqKTsKLQogICAgIGNvbnN0IFN0
cmluZyYgZmlsZW5hbWUoKSBjb25zdCB7IHJldHVybiBtX2ZpbGVuYW1lOyB9CiAgICAgU3RyaW5n
IGJhc2VuYW1lRm9yV2lkdGgoY29uc3QgRm9udCYsIGludCB3aWR0aCkgY29uc3Q7CiAKQEAgLTc3
LDYgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8SWNvbj4gbV9pY29uOwogfTsKIAotfQor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKKyNlbmRpZiAvLyBGaWxlQ2hvb3Nlcl9o
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkocmV2aXNpb24gMzc3
NDUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzAsMjggKzMwLDEzIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkZp
bGVDaG9vc2VyLmgiCiAKLSNpbXBvcnQgIkNocm9tZUNsaWVudC5oIgotI2ltcG9ydCAiRG9jdW1l
bnQuaCIKLSNpbXBvcnQgIkZyYW1lLmgiCiAjaW1wb3J0ICJJY29uLmgiCiAjaW1wb3J0ICJMb2Nh
bGl6ZWRTdHJpbmdzLmgiCi0jaW1wb3J0ICJQYWdlLmgiCiAjaW1wb3J0ICJTaW1wbGVGb250RGF0
YS5oIgogI2ltcG9ydCAiU3RyaW5nVHJ1bmNhdG9yLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAKLXZvaWQgRmlsZUNob29zZXI6Om9wZW5GaWxlQ2hvb3NlcihEb2N1bWVudCogZG9jdW1l
bnQpCi17Ci0gICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7Ci0gICAgaWYgKCFm
cmFtZSkKLSAgICAgICAgcmV0dXJuOwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwot
ICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuOwotICAgIHBhZ2UtPmNocm9tZSgpLT5jbGll
bnQoKS0+cnVuT3BlblBhbmVsKHRoaXMpOwotfQotCiBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2Vu
YW1lRm9yV2lkdGgoY29uc3QgRm9udCYgZm9udCwgaW50IHdpZHRoKSBjb25zdAogewogICAgIGlm
ICh3aWR0aCA8PSAwKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNw
cAkocmV2aXNpb24gMzc3NDUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nlcldp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDE0ICsyNiw4IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKIAotI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiSG9zdFdpbmRvdy5oIgog
I2luY2x1ZGUgIkljb24uaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0jaW5jbHVk
ZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyVGhlbWVXaW4uaCIKLSNpbmNsdWRl
ICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU3RyaW5nVHJ1bmNhdG9yLmgiCiAjaW5jbHVkZSA8
c2hsd2FwaS5oPgogI2luY2x1ZGUgPHRjaGFyLmg+CkBAIC00MSwzOSArMzUsNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgRmlsZUNob29zZXI6Om9wZW5GaWxlQ2hvb3NlcihEb2N1
bWVudCogZG9jdW1lbnQpCi17Ci0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZG9jdW1lbnQtPnZpZXco
KTsKLSAgICBpZiAoIXZpZXcpCi0gICAgICAgIHJldHVybjsKLQotICAgIFRDSEFSIGZpbGVCdWZb
TUFYX1BBVEhdOwotICAgIE9QRU5GSUxFTkFNRSBvZm47Ci0KLSAgICBtZW1zZXQoJm9mbiwgMCwg
c2l6ZW9mKG9mbikpOwotICAgIAotICAgIC8vIE5lZWQgdG8gemVybyBvdXQgdGhlIGZpcnN0IGNo
YXIgb2YgZmlsZUJ1ZiBzbyBHZXRPcGVuRmlsZU5hbWUgZG9lc24ndCB0aGluayBpdCdzIGFuIGlu
aXRpYWxpemF0aW9uIHN0cmluZwotICAgIGZpbGVCdWZbMF0gPSAnXDAnOwotCi0gICAgb2ZuLmxT
dHJ1Y3RTaXplID0gc2l6ZW9mKG9mbik7Ci0gICAgb2ZuLmh3bmRPd25lciA9IHZpZXctPmhvc3RX
aW5kb3coKS0+cGxhdGZvcm1XaW5kb3coKTsKLSAgICBTdHJpbmcgYWxsRmlsZXMgPSBhbGxGaWxl
c1RleHQoKTsKLSAgICBhbGxGaWxlcy5hcHBlbmQoVEVYVCgiXDAqLipcMFwwIiksIDYpOwotICAg
IG9mbi5scHN0ckZpbHRlciA9IGFsbEZpbGVzLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9u
KCk7Ci0gICAgb2ZuLmxwc3RyRmlsZSA9IGZpbGVCdWY7Ci0gICAgb2ZuLm5NYXhGaWxlID0gc2l6
ZW9mKGZpbGVCdWYpOwotICAgIFN0cmluZyBkaWFsb2dUaXRsZSA9IHVwbG9hZEZpbGVUZXh0KCk7
Ci0gICAgb2ZuLmxwc3RyVGl0bGUgPSBkaWFsb2dUaXRsZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJt
aW5hdGlvbigpOwotICAgIG9mbi5GbGFncyA9IE9GTl9FTkFCTEVTSVpJTkcgfCBPRk5fRklMRU1V
U1RFWElTVCB8IE9GTl9QQVRITVVTVEVYSVNUOwotCi0gICAgLy8gV2UgbmVlZCB0aGlzIHByb3Rl
Y3RvciBiZWNhdXNlIG90aGVyd2lzZSB3ZSBjYW4gYmUgZGVsZXRlZCBpZiB0aGUgZmlsZSB1cGxv
YWQgY29udHJvbCBpcyBkZXRhY2hlZCB3aGlsZQotICAgIC8vIHdlJ3JlIHdpdGhpbiB0aGUgR2V0
T3BlbkZpbGVOYW1lIGNhbGwuCi0gICAgUmVmUHRyPEZpbGVDaG9vc2VyPiBwcm90ZWN0b3IodGhp
cyk7Ci0KLSAgICBpZiAoR2V0T3BlbkZpbGVOYW1lKCZvZm4pKQotICAgICAgICBjaG9vc2VGaWxl
KFN0cmluZyhmaWxlQnVmKSk7Ci19Ci0KIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JX
aWR0aChjb25zdCBGb250JiBmb250LCBpbnQgd2lkdGgpIGNvbnN0CiB7CiAgICAgaWYgKHdpZHRo
IDw9IDApCkBAIC05MSw0ICs1Miw0IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JX
aWR0aChjb24KICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJp
bmcsIHdpZHRoLCBmb250LCBmYWxzZSk7CiB9CiAKLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiAzNzc0NSkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTYsNyArOTYsMTMgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dmFsdWVDaGFuZwog
CiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjbGljaygpCiB7Ci0gICAgIG1fZmlsZUNo
b29zZXItPm9wZW5GaWxlQ2hvb3Nlcihub2RlKCktPmRvY3VtZW50KCkpOworICAgIEZyYW1lKiBm
cmFtZSA9IG5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAg
ICAgICByZXR1cm47CisgICAgUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCFw
YWdlKQorICAgICAgICByZXR1cm47CisgICAgcGFnZS0+Y2hyb21lKCktPnJ1bk9wZW5QYW5lbCht
X2ZpbGVDaG9vc2VyKTsKIH0KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6dXBkYXRl
RnJvbUVsZW1lbnQoKQpJbmRleDogV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAkocmV2aXNpb24gMzc3NDQpCisrKyBXZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyMSw2ICs2MjEsMzcg
QEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnBhaW50Q3VzdG9tU2Nyb2xsQwogICAgIHJldHVybiBT
VUNDRUVERUQoaHIpOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6cnVuT3BlblBhbmVsKFBh
c3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVDaG9vc2VyKQoreworICAgIFJlZlB0cjxGaWxl
Q2hvb3Nlcj4gZmlsZUNob29zZXIgPSBwcnBGaWxlQ2hvb3NlcjsKKworICAgIEhXTkQgdmlld1dp
bmRvdzsKKyAgICBpZiAoRkFJTEVEKG1fd2ViVmlldy0+dmlld1dpbmRvdyhyZWludGVycHJldF9j
YXN0PE9MRV9IQU5ETEUqPigmdmlld1dpbmRvdykpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
VENIQVIgZmlsZUJ1ZltNQVhfUEFUSF07CisgICAgT1BFTkZJTEVOQU1FIG9mbjsKKworICAgIG1l
bXNldCgmb2ZuLCAwLCBzaXplb2Yob2ZuKSk7CisKKyAgICAvLyBOZWVkIHRvIHplcm8gb3V0IHRo
ZSBmaXJzdCBjaGFyIG9mIGZpbGVCdWYgc28gR2V0T3BlbkZpbGVOYW1lIGRvZXNuJ3QgdGhpbmsg
aXQncyBhbiBpbml0aWFsaXphdGlvbiBzdHJpbmcKKyAgICBmaWxlQnVmWzBdID0gJ1wwJzsKKwor
ICAgIG9mbi5sU3RydWN0U2l6ZSA9IHNpemVvZihvZm4pOworICAgIG9mbi5od25kT3duZXIgPSB2
aWV3V2luZG93OworICAgIFN0cmluZyBhbGxGaWxlcyA9IGFsbEZpbGVzVGV4dCgpOworICAgIGFs
bEZpbGVzLmFwcGVuZChURVhUKCJcMCouKlwwXDAiKSwgNik7CisgICAgb2ZuLmxwc3RyRmlsdGVy
ID0gYWxsRmlsZXMuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBvZm4ubHBz
dHJGaWxlID0gZmlsZUJ1ZjsKKyAgICBvZm4ubk1heEZpbGUgPSBzaXplb2YoZmlsZUJ1Zik7Cisg
ICAgU3RyaW5nIGRpYWxvZ1RpdGxlID0gdXBsb2FkRmlsZVRleHQoKTsKKyAgICBvZm4ubHBzdHJU
aXRsZSA9IGRpYWxvZ1RpdGxlLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCk7CisgICAg
b2ZuLkZsYWdzID0gT0ZOX0VOQUJMRVNJWklORyB8IE9GTl9GSUxFTVVTVEVYSVNUIHwgT0ZOX1BB
VEhNVVNURVhJU1Q7CisKKyAgICBpZiAoR2V0T3BlbkZpbGVOYW1lKCZvZm4pKQorICAgICAgICBm
aWxlQ2hvb3Nlci0+Y2hvb3NlRmlsZShTdHJpbmcoZmlsZUJ1ZikpOworfQorCiBDT01QdHI8SVdl
YlVJRGVsZWdhdGU+IFdlYkNocm9tZUNsaWVudDo6dWlEZWxlZ2F0ZSgpCiB7CiAgICAgQ09NUHRy
PElXZWJVSURlbGVnYXRlPiBkZWxlZ2F0ZTsKSW5kZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMzc3NDQpCisrKyBXZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNiAr
MTEzLDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsb2F0IHZhbHVlLCBmbG9hdCBwcm9wb3J0aW9uLCBXZWJDb3JlOjpTY3JvbGxiYXJDb250cm9s
UGFydE1hc2spOwogICAgIHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNjcm9sbENvcm5lcihXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKIAorICAg
IHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nl
cj4pOworCiAgICAgV2ViVmlldyogd2ViVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fd2ViVmlldzsg
fQogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24667</attachid>
            <date>2008-10-24 18:56:31 -0700</date>
            <delta_ts>2008-10-24 21:39:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>fileMove.diff</filename>
            <type>text/plain</type>
            <size>23096</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzg3OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDgtMTAtMjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU5CisgICAgICAgIExheWVy
aW5nIHZpb2xhdGlvbjogRmlsZUNob29zZXIgc2hvdWxkIG5vdCBkZXBlbmQgb24gRG9jdW1lbnQv
RnJhbWUvUGFnZQorCisgICAgICAgIE1vdmUgZmlsZSBjaG9vc2luZyBpbnRvIFdlYktpdCBDaHJv
bWVDbGllbnQuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6cnVuT3BlblBhbmVsKToKKyAgICAgICAgKiBwYWdl
L0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnJ1bk9wZW5QYW5lbCk6Cisg
ICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIHBhZ2UvbWFjL0Nocm9tZU1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxl
Q2hvb3Nlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9GaWxlQ2hvb3NlclF0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vRmlsZUNob29zZXJXaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3d4L1RlbXBvcmFy
eUxpbmtTdHVicy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250
cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjbGlj
ayk6CisKIDIwMDgtMTAtMjQgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9sbGl2aWVycy5j
b20+CiAKICAgICAgICAgd3ggYnVpbGQgZml4IC0gYWRkIG5ld0ljb25Gb3JGaWxlcyBzdHViLgpJ
bmRleDogV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9uIDM3ODc2KQorKysgV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw2ICsxMjYsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHByaW50KEZyYW1lKikgeyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJikgeyB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nl
cj4pIHsgfQogfTsKIAogY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFt
ZUxvYWRlckNsaWVudCB7CkluZGV4OiBXZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAkocmV2aXNpb24gMzc4NzYpCisrKyBXZWJDb3Jl
L3BhZ2UvQ2hyb21lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1
ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkROUy5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiRmlsZUNob29zZXIuaCIKICNpbmNsdWRlICJGaWxlTGlzdC5oIgogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC0zOTUsNiArMzk2LDEw
IEBAIHZvaWQgQ2hyb21lOjplbmFibGVTdWRkZW5UZXJtaW5hdGlvbigpCiAgICAgbV9jbGllbnQt
PmVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7CiB9CiAKK3ZvaWQgQ2hyb21lOjpydW5PcGVuUGFu
ZWwoRnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxlQ2hvb3NlcikKK3sK
KyAgICBtX2NsaWVudC0+cnVuT3BlblBhbmVsKGZyYW1lLCBmaWxlQ2hvb3Nlcik7Cit9CiAvLyAt
LS0tLS0tLQogCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpJbmRleDogV2ViQ29yZS9w
YWdlL0Nocm9tZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJvbWUuaAkocmV2aXNp
b24gMzc4NzYpCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDEzICszNSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDaHJvbWVDbGll
bnQ7CiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CisgICAgY2xhc3MgRmlsZUNob29zZXI7CiAgICAg
Y2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEhpdFRlc3RSZXN1
bHQ7CiAgICAgY2xhc3MgSW50UmVjdDsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0cmlu
ZzsKLSAgICAKKwogICAgIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogICAgIHN0cnVjdCBXaW5k
b3dGZWF0dXJlczsKICAgICAKQEAgLTEwMCw3ICsxMDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgdm9pZCBydW5KYXZhU2NyaXB0QWxlcnQoRnJhbWUqLCBjb25zdCBTdHJpbmcm
KTsKICAgICAgICAgYm9vbCBydW5KYXZhU2NyaXB0Q29uZmlybShGcmFtZSosIGNvbnN0IFN0cmlu
ZyYpOwotICAgICAgICBib29sIHJ1bkphdmFTY3JpcHRQcm9tcHQoRnJhbWUqLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVmYXVsdFZhbHVlLCBTdHJpbmcmIHJlc3VsdCk7
ICAgICAgICAgICAgICAgIAorICAgICAgICBib29sIHJ1bkphdmFTY3JpcHRQcm9tcHQoRnJhbWUq
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVmYXVsdFZhbHVlLCBTdHJp
bmcmIHJlc3VsdCk7CiAgICAgICAgIHZvaWQgc2V0U3RhdHVzYmFyVGV4dChGcmFtZSosIGNvbnN0
IFN0cmluZyYpOwogICAgICAgICBib29sIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQoKTsKIApA
QCAtMTE1LDYgKzExNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBlbmFi
bGVTdWRkZW5UZXJtaW5hdGlvbigpOwogICAgICAgICB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5h
dGlvbigpOwogCisgICAgICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pOworCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICB2b2lkIGZvY3VzTlNW
aWV3KE5TVmlldyopOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCShyZXZpc2lvbiAzNzg3
NikKKysrIFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAz
LDcgKzEwMyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1
bkphdmFTY3JpcHRBbGVydChGcmFtZSosIGNvbnN0IFN0cmluZyYpID0gMDsKICAgICAgICAgdmly
dHVhbCBib29sIHJ1bkphdmFTY3JpcHRDb25maXJtKEZyYW1lKiwgY29uc3QgU3RyaW5nJikgPSAw
OwogICAgICAgICB2aXJ0dWFsIGJvb2wgcnVuSmF2YVNjcmlwdFByb21wdChGcmFtZSosIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFN0cmluZyYgcmVz
dWx0KSA9IDA7Ci0gICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0U3RhdHVzYmFyVGV4
dChjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnRlcnJ1
cHRKYXZhU2NyaXB0KCkgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgdGFic1RvTGlua3MoKSBj
b25zdCA9IDA7CkBAIC0xNDcsOSArMTQ2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgdmFsdWUsIGZsb2F0IHBy
b3BvcnRpb24sIFNjcm9sbGJhckNvbnRyb2xQYXJ0TWFzayk7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBwYWludEN1c3RvbVNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJl
Y3QmKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5Q
YW5lbChQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBydW5P
cGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPikgPSAwOwogCisjaWYgUExB
VEZPUk0oTUFDKQogICAgICAgICB2aXJ0dWFsIEtleWJvYXJkVUlNb2RlIGtleWJvYXJkVUlNb2Rl
KCkgeyByZXR1cm4gS2V5Ym9hcmRBY2Nlc3NEZWZhdWx0OyB9CiAKICAgICAgICAgdmlydHVhbCBO
U1Jlc3BvbmRlciAqZmlyc3RSZXNwb25kZXIoKSB7IHJldHVybiAwOyB9CkluZGV4OiBXZWJDb3Jl
L3BhZ2UvbWFjL0Nocm9tZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvbWFjL0No
cm9tZU1hYy5tbQkocmV2aXNpb24gMzc4NzYpCisrKyBXZWJDb3JlL3BhZ2UvbWFjL0Nocm9tZU1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNiBAQAogCiAjaW1wb3J0ICJCbG9ja0V4
Y2VwdGlvbnMuaCIKICNpbXBvcnQgIkNocm9tZUNsaWVudC5oIgotI2ltcG9ydCAiRmlsZUNob29z
ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OSw4ICs0OCw0IEBAIHZvaWQgQ2hy
b21lOjpmb2N1c05TVmlldyhOU1ZpZXcqIHZpZXcpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnQ6OnJ1bk9wZW5QYW5lbChQYXNzUmVmUHRyPEZp
bGVDaG9vc2VyPikKLXsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
RmlsZUNob29zZXIuaAkocmV2aXNpb24gMzc4NzYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0ZpbGVD
aG9vc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEb2N1bWVudDsKIGNsYXNzIEZvbnQ7CiBjbGFzcyBJY29uOwogCkBA
IC01NCwxMyArNTMsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNjb25uZWN0Q2xpZW50KCkgeyBt
X2NsaWVudCA9IDA7IH0KICAgICBib29sIGRpc2Nvbm5lY3RlZCgpIHsgcmV0dXJuICFtX2NsaWVu
dDsgfQogCi0gICAgLy8gRklYTUU6IEl0J3MgYSBsYXllcmluZyB2aW9sYXRpb24gdGhhdCB3ZSBw
YXNzIGEgRG9jdW1lbnQgaW4gaGVyZS4KLSAgICAvLyBUaGUgcGxhdGZvcm0gZGlyZWN0b3J5IGlz
IHVuZGVybmVhdGggdGhlIERPTSwgc28gaXQgY2FuJ3QgdXNlIHRoZSBET00uCi0gICAgLy8gQmVj
YXVzZSBvZiBVSSBkZWxlZ2F0ZXMsIGl0J3Mgbm90IGNsZWFyIHRoYXQgdGhlIEZpbGVDaG9vc2Vy
IGNsYXNzCi0gICAgLy8gYmVsb25ncyBpbiB0aGUgcGxhdGZvcm0gbGF5ZXIgYXQgYWxsLiBJdCBt
aWdodCBuZWVkIHRvIGdvIGFsb25nc2lkZQotICAgIC8vIHRoZSBDaHJvbWUgY2xhc3MgaW5zdGVh
ZC4KLSAgICB2b2lkIG9wZW5GaWxlQ2hvb3NlcihEb2N1bWVudCopOwotCiAgICAgY29uc3QgVmVj
dG9yPFN0cmluZz4mIGZpbGVuYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZW5hbWVzOyB9CiAg
ICAgU3RyaW5nIGJhc2VuYW1lRm9yV2lkdGgoY29uc3QgRm9udCYsIGludCB3aWR0aCkgY29uc3Q7
CiAKQEAgLTgzLDYgKzc1LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8SWNvbj4gbV9pY29uOwog
fTsKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYKKyNlbmRpZiAvLyBGaWxl
Q2hvb3Nlcl9oCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkocmV2
aXNpb24gMzc4NzYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzAsMjggKzMwLDEzIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkZpbGVDaG9vc2VyLmgiCiAKLSNpbXBvcnQgIkNocm9tZUNsaWVudC5oIgotI2ltcG9y
dCAiRG9jdW1lbnQuaCIKLSNpbXBvcnQgIkZyYW1lLmgiCiAjaW1wb3J0ICJJY29uLmgiCiAjaW1w
b3J0ICJMb2NhbGl6ZWRTdHJpbmdzLmgiCi0jaW1wb3J0ICJQYWdlLmgiCiAjaW1wb3J0ICJTaW1w
bGVGb250RGF0YS5oIgogI2ltcG9ydCAiU3RyaW5nVHJ1bmNhdG9yLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKLXZvaWQgRmlsZUNob29zZXI6Om9wZW5GaWxlQ2hvb3NlcihEb2N1bWVu
dCogZG9jdW1lbnQpCi17Ci0gICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7Ci0g
ICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+
cGFnZSgpOwotICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuOwotICAgIHBhZ2UtPmNocm9t
ZSgpLT5jbGllbnQoKS0+cnVuT3BlblBhbmVsKHRoaXMpOwotfQotCiBTdHJpbmcgRmlsZUNob29z
ZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uc3QgRm9udCYgZm9udCwgaW50IHdpZHRoKSBjb25zdAog
ewogICAgIGlmICh3aWR0aCA8PSAwKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9GaWxlQ2hv
b3NlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L0ZpbGVDaG9vc2Vy
UXQuY3BwCShyZXZpc2lvbiAzNzg3NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvRmlsZUNob29z
ZXJRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29w
eXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtMjEsMzIgKzIyLDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiRmlsZUNob29zZXIuaCIKIAotI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAi
RnJhbWUuaCIKLSNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudFF0LmgiCiAjaW5jbHVkZSAiSWNv
bi5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLQogI2luY2x1ZGUgPFFGb250TWV0cmljcz4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIEZpbGVDaG9vc2VyOjpvcGVuRmlsZUNob29zZXIoRG9j
dW1lbnQqIGRvYykKLXsKLSAgICBQYWdlICpwYWdlID0gZG9jLT5wYWdlKCk7Ci0gICAgRnJhbWUg
KmZyYW1lID0gZG9jLT5mcmFtZSgpOwotICAgIGlmICghcGFnZSB8fCAhZnJhbWUpCi0gICAgICAg
IHJldHVybjsKLQotICAgIEZyYW1lTG9hZGVyQ2xpZW50UXQgKmZsID0gc3RhdGljX2Nhc3Q8RnJh
bWVMb2FkZXJDbGllbnRRdCo+KGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCkpOwotICAgIGlmICgh
ZmwpCi0gICAgICAgIHJldHVybjsKLQotICAgIFFTdHJpbmcgZiA9IGZsLT5jaG9vc2VGaWxlKG1f
ZmlsZW5hbWVzWzBdKTsKLSAgICBpZiAoIWYuaXNFbXB0eSgpKQotICAgICAgICBjaG9vc2VGaWxl
KGYpOwotfQotCiBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uc3QgRm9u
dCYgZiwgaW50IHdpZHRoKSBjb25zdAogewogICAgIFFGb250TWV0cmljcyBmbShmLmZvbnQoKSk7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nlcldpbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4uY3BwCShyZXZpc2lvbiAz
Nzg3NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsMTQgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAjaW5jbHVkZSAiSWNv
bi5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmpl
Y3QuaCIKLSNpbmNsdWRlICJSZW5kZXJUaGVtZVdpbi5oIgotI2luY2x1ZGUgIlJlbmRlclZpZXcu
aCIKICNpbmNsdWRlICJTdHJpbmdUcnVuY2F0b3IuaCIKICNpbmNsdWRlIDxzaGx3YXBpLmg+CiAj
aW5jbHVkZSA8dGNoYXIuaD4KQEAgLTQxLDM5ICszNSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotdm9pZCBGaWxlQ2hvb3Nlcjo6b3BlbkZpbGVDaG9vc2VyKERvY3VtZW50KiBkb2N1bWVu
dCkKLXsKLSAgICBGcmFtZVZpZXcqIHZpZXcgPSBkb2N1bWVudC0+dmlldygpOwotICAgIGlmICgh
dmlldykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgVENIQVIgZmlsZUJ1ZltNQVhfUEFUSF07Ci0g
ICAgT1BFTkZJTEVOQU1FIG9mbjsKLQotICAgIG1lbXNldCgmb2ZuLCAwLCBzaXplb2Yob2ZuKSk7
Ci0gICAgCi0gICAgLy8gTmVlZCB0byB6ZXJvIG91dCB0aGUgZmlyc3QgY2hhciBvZiBmaWxlQnVm
IHNvIEdldE9wZW5GaWxlTmFtZSBkb2Vzbid0IHRoaW5rIGl0J3MgYW4gaW5pdGlhbGl6YXRpb24g
c3RyaW5nCi0gICAgZmlsZUJ1ZlswXSA9ICdcMCc7Ci0KLSAgICBvZm4ubFN0cnVjdFNpemUgPSBz
aXplb2Yob2ZuKTsKLSAgICBvZm4uaHduZE93bmVyID0gdmlldy0+aG9zdFdpbmRvdygpLT5wbGF0
Zm9ybVdpbmRvdygpOwotICAgIFN0cmluZyBhbGxGaWxlcyA9IGFsbEZpbGVzVGV4dCgpOwotICAg
IGFsbEZpbGVzLmFwcGVuZChURVhUKCJcMCouKlwwXDAiKSwgNik7Ci0gICAgb2ZuLmxwc3RyRmls
dGVyID0gYWxsRmlsZXMuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKLSAgICBvZm4u
bHBzdHJGaWxlID0gZmlsZUJ1ZjsKLSAgICBvZm4ubk1heEZpbGUgPSBzaXplb2YoZmlsZUJ1Zik7
Ci0gICAgU3RyaW5nIGRpYWxvZ1RpdGxlID0gdXBsb2FkRmlsZVRleHQoKTsKLSAgICBvZm4ubHBz
dHJUaXRsZSA9IGRpYWxvZ1RpdGxlLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCk7Ci0g
ICAgb2ZuLkZsYWdzID0gT0ZOX0VOQUJMRVNJWklORyB8IE9GTl9GSUxFTVVTVEVYSVNUIHwgT0ZO
X1BBVEhNVVNURVhJU1Q7Ci0KLSAgICAvLyBXZSBuZWVkIHRoaXMgcHJvdGVjdG9yIGJlY2F1c2Ug
b3RoZXJ3aXNlIHdlIGNhbiBiZSBkZWxldGVkIGlmIHRoZSBmaWxlIHVwbG9hZCBjb250cm9sIGlz
IGRldGFjaGVkIHdoaWxlCi0gICAgLy8gd2UncmUgd2l0aGluIHRoZSBHZXRPcGVuRmlsZU5hbWUg
Y2FsbC4KLSAgICBSZWZQdHI8RmlsZUNob29zZXI+IHByb3RlY3Rvcih0aGlzKTsKLQotICAgIGlm
IChHZXRPcGVuRmlsZU5hbWUoJm9mbikpCi0gICAgICAgIGNob29zZUZpbGUoU3RyaW5nKGZpbGVC
dWYpKTsKLX0KLQogU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNvbnN0IEZv
bnQmIGZvbnQsIGludCB3aWR0aCkgY29uc3QKIHsKICAgICBpZiAod2lkdGggPD0gMCkKQEAgLTky
LDQgKzUzLDQgQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNvbgogICAg
IHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZv
bnQsIGZhbHNlKTsKIH0KIAotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd3gvVGVtcG9yYXJ5TGlua1N0
dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3d4L1RlbXBvcmFyeUxpbmtT
dHVicy5jcHAJKHJldmlzaW9uIDM3ODc2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93eC9UZW1wb3Jh
cnlMaW5rU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDYgQEAgdm9pZCBJ
bWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KgogCiBTY3JvbGxiYXJUaGVtZSogU2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkgeyBub3RJbXBsZW1lbnRlZCgpOyBzdGF0aWMgU2Ny
b2xsYmFyVGhlbWUgdGhlbWU7IHJldHVybiAmdGhlbWU7IH0KIAotdm9pZCBGaWxlQ2hvb3Nlcjo6
b3BlbkZpbGVDaG9vc2VyKERvY3VtZW50KikgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiBTdHJpbmcg
RmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uc3QgRm9udCYsIGludCB3aWR0aCkgY29u
c3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gU3RyaW5nKCk7IH0KIAogSWNvbjo6fkljb24o
KSB7IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJv
bC5jcHAJKHJldmlzaW9uIDM3ODc2KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSWNvbi5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0
cmluZ3MuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyQnV0dG9uLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCkBAIC0xMDMs
NyArMTA0LDEzIEBAIGJvb2wgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmFsbG93c011bHQKIAog
dm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y2xpY2soKQogewotICAgICBtX2ZpbGVDaG9v
c2VyLT5vcGVuRmlsZUNob29zZXIobm9kZSgpLT5kb2N1bWVudCgpKTsKKyAgICBGcmFtZSogZnJh
bWUgPSBub2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAg
ICAgcmV0dXJuOworICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFn
ZSkKKyAgICAgICAgcmV0dXJuOworICAgIHBhZ2UtPmNocm9tZSgpLT5ydW5PcGVuUGFuZWwoZnJh
bWUsIG1fZmlsZUNob29zZXIpOwogfQogCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjp1
cGRhdGVGcm9tRWxlbWVudCgpCkluZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gMzc4NzgpCisrKyBXZWJLaXQvZ3Rr
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA4LTEwLTI0ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTc1OQorICAgICAgICBMYXllcmluZyB2aW9sYXRpb246IEZpbGVDaG9vc2VyIHNo
b3VsZCBub3QgZGVwZW5kIG9uIERvY3VtZW50L0ZyYW1lL1BhZ2UKKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNs
aWVudDo6cnVuT3BlblBhbmVsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuaDoKKwogMjAwOC0xMC0yNCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CiAKICAgICAgICAgU3R1YiBvdXQgbmV3IEluc3BlY3RvckNsaWVudCBtZXRob2RzLgpJbmRl
eDogV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAkocmV2
aXNpb24gMzc4NzYpCisrKyBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3Miw0ICszNzIsMjQgQEAgdm9pZCBDaHJvbWVDbGll
bnQ6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YQogI2VuZGlmCiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50
OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBGaWxlQ2hv
b3NlcikKK3sKKyAgICAvLyBGSVhNRTogU3VwcG9ydCBtdWx0aXBsZSBmaWxlcy4KKworICAgIFJl
ZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIgPSBwcnBGaWxlQ2hvb3NlcjsKKworICAgIEd0
a1dpZGdldCogZGlhbG9nID0gZ3RrX2ZpbGVfY2hvb3Nlcl9kaWFsb2dfbmV3KF8oIlVwbG9hZCBG
aWxlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR1RLX1dJTkRPVyhndGtfd2lkZ2V0X2dldF90b3BsZXZlbChHVEtfV0lER0VUKHBsYXRmb3Jt
V2luZG93KCkpKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR1RLX0ZJTEVfQ0hPT1NFUl9BQ1RJT05fT1BFTiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfU1RPQ0tfQ0FOQ0VMLCBHVEtf
UkVTUE9OU0VfQ0FOQ0VMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdUS19TVE9DS19PUEVOLCBHVEtfUkVTUE9OU0VfQUNDRVBULAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCisg
ICAgU3RyaW5nIHJlc3VsdDsKKyAgICBjb25zdCBib29sIGFjY2VwdGVkRGlhbG9nID0gZ3RrX2Rp
YWxvZ19ydW4oR1RLX0RJQUxPRyhkaWFsb2cpKSA9PSBHVEtfUkVTUE9OU0VfQUNDRVBUOworICAg
IGlmIChhY2NlcHRlZERpYWxvZyAmJiBzdHJpbmdCeUFkb3B0aW5nRmlsZVN5c3RlbVJlcHJlc2Vu
dGF0aW9uKGd0a19maWxlX2Nob29zZXJfZ2V0X2ZpbGVuYW1lKEdUS19GSUxFX0NIT09TRVIoZGlh
bG9nKSksIHJlc3VsdCkpCisgICAgICAgIGZpbGVDaG9vc2VyLT5jaG9vc2VGaWxlKHJlc3VsdCk7
CisgICAgZ3RrX3dpZGdldF9kZXN0cm95KGRpYWxvZyk7Cit9CisKIH0KSW5kZXg6IFdlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkocmV2aXNpb24gMzc4NzYpCisr
KyBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCSh3b3JraW5nIGNv
cHkpCkBAIC05OCw2ICs5OCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoV2ViQ29yZTo6RnJhbWUqLCBjb25zdCBXZWJD
b3JlOjpTdHJpbmcmKTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNv
cmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOworCiAgICAgcHJp
dmF0ZToKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwogICAgICAgICBXZWJDb3Jl
OjpLVVJMIG1faG92ZXJlZExpbmtVUkw7CkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMzc4NzgpCisrKyBXZWJL
aXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA4LTEw
LTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTc1OQorICAgICAgICBMYXllcmluZyB2aW9sYXRpb246IEZpbGVDaG9v
c2VyIHNob3VsZCBub3QgZGVwZW5kIG9uIERvY3VtZW50L0ZyYW1lL1BhZ2UKKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6cnVuT3Bl
blBhbmVsKToKKwogMjAwOC0xMC0yNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBUaWdlciBidWlsZC4KSW5kZXg6IFdlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMzc4NzYpCisrKyBXZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTEsNyArMTExLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkYXNoYm9hcmRSZWdpb25z
Q2hhbmdlZCgpOwogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFBhc3NS
ZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKKyAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBh
bmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwog
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgY3VzdG9tSGlnaGxpZ2h0UmVjdChXZWJD
b3JlOjpOb2RlKiwgY29uc3QgV2ViQ29yZTo6QXRvbWljU3RyaW5nJiB0eXBlLAogICAgICAgICBj
b25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGxpbmVSZWN0KTsKSW5kZXg6IFdlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCShyZXZpc2lvbiAzNzg3NikKKysrIFdl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC01NDQsNyArNTQ0LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnBhaW50Q3VzdG9tSGln
aGxpZwogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKLXZvaWQgV2ViQ2hyb21l
Q2xpZW50OjpydW5PcGVuUGFuZWwoUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4gY2hvb3NlcikKK3Zv
aWQgV2ViQ2hyb21lQ2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVD
aG9vc2VyPiBjaG9vc2VyKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAg
ICBCT09MIGFsbG93TXVsdGlwbGVGaWxlcyA9IGNob29zZXItPmFsbG93c011bHRpcGxlRmlsZXMo
KTsKSW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0No
YW5nZUxvZwkocmV2aXNpb24gMzc4NzgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDgtMTAtMjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXggaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU5CisgICAg
ICAgIExheWVyaW5nIHZpb2xhdGlvbjogRmlsZUNob29zZXIgc2hvdWxkIG5vdCBkZXBlbmQgb24g
RG9jdW1lbnQvRnJhbWUvUGFnZQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OnJ1bk9wZW5QYW5l
bCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKwogMjAwOC0x
MC0yNCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgU3R1
YiBvdXQgbmV3IEluc3BlY3RvckNsaWVudCBtZXRob2RzLgpJbmRleDogV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCShyZXZpc2lvbiAzNzg3NikKKysrIFdlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM4MSw2ICszODEsMTUgQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6ZXhjZWVkZWREYXRhYmFzZVF1
bwogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLX0KK3ZvaWQgQ2hyb21lQ2xpZW50UXQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVD
aG9vc2VyKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0IG11bHRpcGxlIGZpbGVzLgogCisgICAg
UmVmUHRyPEZpbGVDaG9vc2VyPiBmaWxlQ2hvb3NlciA9IHBycEZpbGVDaG9vc2VyOworICAgIFFT
dHJpbmcgc3VnZ2VzdGVkRmlsZSA9IGZpbGVDaG9vc2VyLT5maWxlbmFtZXMoKVswXTsKKyAgICBR
U3RyaW5nIGZpbGUgPSBtX3dlYlBhZ2UtPmNob29zZUZpbGUoUVdlYkZyYW1lUHJpdmF0ZTo6a2l0
KGZyYW1lKSwgc3VnZ2VzdGVkRmlsZSk7CisgICAgaWYgKCFmaWxlLmlzRW1wdHkoKSkKKyAgICAg
ICAgZmlsZUNob29zZXItPmNob29zZUZpbGUoZmlsZSk7Cit9CiAKK30KSW5kZXg6IFdlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCShyZXZpc2lvbiAzNzg3NikKKysrIFdl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCw3IEBAIGNsYXNzIFFXZWJQYWdlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
KyAgICBjbGFzcyBGaWxlQ2hvb3NlcjsKICAgICBjbGFzcyBGbG9hdFJlY3Q7CiAgICAgY2xhc3Mg
UGFnZTsKICAgICBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKQEAgLTExNCw2ICsxMTUsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJh
c2VRdW90YShGcmFtZSosIGNvbnN0IFN0cmluZyYpOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBy
dW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CisKICAgICAgICAg
UVdlYlBhZ2UqIG1fd2ViUGFnZTsKICAgICAgICAgV2ViQ29yZTo6S1VSTCBsYXN0SG92ZXJVUkw7
CiAgICAgICAgIFdlYkNvcmU6OlN0cmluZyBsYXN0SG92ZXJUaXRsZTsKSW5kZXg6IFdlYktpdC93
aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lv
biAzNzg3OCkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMDgtMTAtMjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzU5CisgICAgICAgIExheWVyaW5nIHZp
b2xhdGlvbjogRmlsZUNob29zZXIgc2hvdWxkIG5vdCBkZXBlbmQgb24gRG9jdW1lbnQvRnJhbWUv
UGFnZQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6cnVuT3BlblBhbmVsKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAwOC0xMC0yNCAgVGltb3RoeSBIYXRjaGVy
ICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IG5ldyBJbnNwZWN0b3JD
bGllbnQgbWV0aG9kcyB0byB3b3JrIHdpdGggU2V0dGluZ3MuCkluZGV4OiBXZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZpc2lvbiAzNzg3NikKKysr
IFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjIxLDYgKzYyMSwzOSBAQCBib29sIFdlYkNocm9tZUNsaWVudDo6cGFpbnRDdXN0
b21TY3JvbGxDCiAgICAgcmV0dXJuIFNVQ0NFRURFRChocik7CiB9CiAKK3ZvaWQgV2ViQ2hyb21l
Q2xpZW50OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPiBwcnBG
aWxlQ2hvb3NlcikKK3sKKyAgICAvLyBGSVhNRTogU3VwcG9ydCBtdWx0aXBsZSBmaWxlcy4KKwor
ICAgIFJlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIgPSBwcnBGaWxlQ2hvb3NlcjsKKwor
ICAgIEhXTkQgdmlld1dpbmRvdzsKKyAgICBpZiAoRkFJTEVEKG1fd2ViVmlldy0+dmlld1dpbmRv
dyhyZWludGVycHJldF9jYXN0PE9MRV9IQU5ETEUqPigmdmlld1dpbmRvdykpKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgVENIQVIgZmlsZUJ1ZltNQVhfUEFUSF07CisgICAgT1BFTkZJTEVOQU1F
IG9mbjsKKworICAgIG1lbXNldCgmb2ZuLCAwLCBzaXplb2Yob2ZuKSk7CisKKyAgICAvLyBOZWVk
IHRvIHplcm8gb3V0IHRoZSBmaXJzdCBjaGFyIG9mIGZpbGVCdWYgc28gR2V0T3BlbkZpbGVOYW1l
IGRvZXNuJ3QgdGhpbmsgaXQncyBhbiBpbml0aWFsaXphdGlvbiBzdHJpbmcKKyAgICBmaWxlQnVm
WzBdID0gJ1wwJzsKKworICAgIG9mbi5sU3RydWN0U2l6ZSA9IHNpemVvZihvZm4pOworICAgIG9m
bi5od25kT3duZXIgPSB2aWV3V2luZG93OworICAgIFN0cmluZyBhbGxGaWxlcyA9IGFsbEZpbGVz
VGV4dCgpOworICAgIGFsbEZpbGVzLmFwcGVuZChURVhUKCJcMCouKlwwXDAiKSwgNik7CisgICAg
b2ZuLmxwc3RyRmlsdGVyID0gYWxsRmlsZXMuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KTsKKyAgICBvZm4ubHBzdHJGaWxlID0gZmlsZUJ1ZjsKKyAgICBvZm4ubk1heEZpbGUgPSBzaXpl
b2YoZmlsZUJ1Zik7CisgICAgU3RyaW5nIGRpYWxvZ1RpdGxlID0gdXBsb2FkRmlsZVRleHQoKTsK
KyAgICBvZm4ubHBzdHJUaXRsZSA9IGRpYWxvZ1RpdGxlLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1p
bmF0aW9uKCk7CisgICAgb2ZuLkZsYWdzID0gT0ZOX0VOQUJMRVNJWklORyB8IE9GTl9GSUxFTVVT
VEVYSVNUIHwgT0ZOX1BBVEhNVVNURVhJU1Q7CisKKyAgICBpZiAoR2V0T3BlbkZpbGVOYW1lKCZv
Zm4pKQorICAgICAgICBmaWxlQ2hvb3Nlci0+Y2hvb3NlRmlsZShTdHJpbmcoZmlsZUJ1ZikpOwor
fQorCiBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IFdlYkNocm9tZUNsaWVudDo6dWlEZWxlZ2F0ZSgp
CiB7CiAgICAgQ09NUHRyPElXZWJVSURlbGVnYXRlPiBkZWxlZ2F0ZTsKSW5kZXg6IFdlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMzc4NzYpCisr
KyBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTMsNiArMTEzLDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZsb2F0IHZhbHVlLCBmbG9hdCBwcm9wb3J0aW9uLCBXZWJDb3JlOjpT
Y3JvbGxiYXJDb250cm9sUGFydE1hc2spOwogICAgIHZpcnR1YWwgYm9vbCBwYWludEN1c3RvbVNj
cm9sbENvcm5lcihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmKTsKIAorICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29yZTo6RnJhbWUq
LCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CisKICAgICBXZWJWaWV3KiB3ZWJW
aWV3KCkgY29uc3QgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAKIHByaXZhdGU6CkluZGV4OiBXZWJL
aXQvd3gvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDM3ODc4KQorKysgV2ViS2l0L3d4L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDA4LTEwLTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc1OQorICAgICAgICBMYXllcmluZyB2
aW9sYXRpb246IEZpbGVDaG9vc2VyIHNob3VsZCBub3QgZGVwZW5kIG9uIERvY3VtZW50L0ZyYW1l
L1BhZ2UKKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50V3g6OnJ1bk9wZW5QYW5lbCk6CisgICAgICAgICog
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorCiAyMDA4LTEwLTI0ICBEYXZpZCBLaWx6
ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4LgpJbmRleDogV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAkocmV2aXNpb24gMzc4NzYp
CisrKyBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM1Miw0ICszNTIsOSBAQCB2b2lkIENocm9tZUNsaWVudFd4OjpzY3JvbGwoY29u
c3QgSW50U2l6CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRX
eDo6cnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKwogfQpJbmRleDogV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
Q2hyb21lQ2xpZW50V3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9D
aHJvbWVDbGllbnRXeC5oCShyZXZpc2lvbiAzNzg3NikKKysrIFdlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsOCBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwg
Y29uc3QgU3RyaW5nJik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwg
UGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pCisKIHByaXZhdGU6CiAgICAgd3hXZWJWaWV3KiBtX3dl
YlZpZXc7CiB9Owo=
</data>
<flag name="review"
          id="11270"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>