<?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>10466</bug_id>
          
          <creation_ts>2006-08-17 12:55:05 -0700</creation_ts>
          <short_desc>WebKit should have Qt platform support</short_desc>
          <delta_ts>2006-08-18 06:53:44 -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>420+</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.4</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="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>52854</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-17 12:55:05 -0700</bug_when>
    <thetext>It would be nice to have Qt support in WebKit :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52855</commentid>
    <comment_count>1</comment_count>
      <attachid>10104</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-17 12:58:14 -0700</bug_when>
    <thetext>Created attachment 10104
Initial patch

This patch contains all the PLATFORM(QT) hooks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52895</commentid>
    <comment_count>2</comment_count>
      <attachid>10104</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-18 01:41:54 -0700</bug_when>
    <thetext>Comment on attachment 10104
Initial patch

This would probably be better as if !PLATFORM(QT)

+#if PLATFORM(QT)
+        // use default QCursor constructor. QCursor(0) creates
+        // an invalid cursor due to implicit constructors ;(
+#else
+        : m_impl(0)
+#endif
+		{ }

Would be nice to fix the funny spacing while we&apos;re there:

+#if PLATFORM(GDK) || PLATFORM(QT)
     ResourceLoaderInternal * getInternal() { return d;}
 #endif

No need to name the argument &quot;parent&quot; here, it&apos;s implied by the method:

+#if PLATFORM(QT)
+    virtual void setParentWidget(QWidget* parent);
+#endif


Same here:

+#if PLATFORM(QT)
+        QWidget* parentWidget() const;
+        virtual void setParentWidget(QWidget* parent);
+
+        QWidget* qwidget();
+        void setQWidget(QWidget* widget);
+#endif

named arguments in headers often tend to just clutter things.

and another:

+
+        virtual void setParentWidget(QWidget* parent);
+

This is a really nice patch though.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52896</commentid>
    <comment_count>3</comment_count>
      <attachid>10104</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-18 01:43:17 -0700</bug_when>
    <thetext>Comment on attachment 10104
Initial patch

Hum... Since some of these changes are bigger than 5 lines (what amounts to a &quot;trivial change&quot;) they really need copyright updates at the top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52897</commentid>
    <comment_count>4</comment_count>
      <attachid>10118</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-18 02:21:15 -0700</bug_when>
    <thetext>Created attachment 10118
Corrected patch

Incorporated Eric&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52902</commentid>
    <comment_count>5</comment_count>
      <attachid>10118</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-18 02:32:59 -0700</bug_when>
    <thetext>Comment on attachment 10118
Corrected patch

Fabulous.  r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52920</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-08-18 06:53:44 -0700</bug_when>
    <thetext>Landed by rwlbuis in r15933 and r15935.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10104</attachid>
            <date>2006-08-17 12:58:14 -0700</date>
            <delta_ts>2006-08-18 02:22:10 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>platform-qt-hooks.diff</filename>
            <type>text/plain</type>
            <size>14374</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNTkyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDUgKzEsMzcgQEAKIDIwMDYtMDgtMTcgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlczogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDQ2NgorICAgICAgICBXZWJLaXQgc2hvdWxkIGhhdmUgUXQgcGxhdGZvcm0gc3VwcG9ydC4K
KworICAgICAgICAqIHBsYXRmb3JtL0NvbG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vQ3Vyc29y
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6CisgICAgICAgICogcGxhdGZv
cm0vRmxvYXRQb2ludC5oOgorICAgICAgICAqIHBsYXRmb3JtL0Zsb2F0UmVjdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0dseXBoQnVmZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZl
cjo6Z2x5cGhBdCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6YWR2YW5jZUF0KToK
KyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjphZGQpOgorICAgICAgICAqIHBsYXRmb3Jt
L0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL0ltYWdlU291cmNlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9JbnRSZWN0
Lmg6CisgICAgICAgICogcGxhdGZvcm0vSW50U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0xp
c3RCb3guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXRoLmg6CisgICAgICAgICogcGxhdGZvcm0v
UGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9SZXNvdXJjZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Jl
c291cmNlTG9hZGVySW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
SW50ZXJuYWw6OlJlc291cmNlTG9hZGVySW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKworMjAwNi0wOC0xNyAg
Tmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgorCiAgICAgICAgIFJldmll
d2VkIGJ5IEFuZGVycy4KIAogICAgICAgICBGaXhlczogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0NwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9HcmFw
aGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0dyYXBoaWNzQ29u
dGV4dC5oCShSZXZpc2lvbiAxNTkyNCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vR3JhcGhpY3NDb250
ZXh0LmgJKEFyYmVpdHNrb3BpZSkKQEAgLTQ0LDYgKzQ0LDkgQEAKIHR5cGVkZWYgc3RydWN0IF9j
YWlybyBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKICNlbGlmIFBMQVRGT1JNKEdESykKIHR5cGVk
ZWYgc3RydWN0IF9jYWlybyBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKKyNlbGlmIFBMQVRGT1JN
KFFUKQorY2xhc3MgUVBhaW50ZXI7Cit0eXBlZGVmIFFQYWludGVyIFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0OwogI2Vsc2UKIHR5cGVkZWYgdm9pZCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL0N1cnNvci5oCShSZXZpc2lvbiAxNTkyNCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vQ3Vyc29yLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlIDx3
aW5kb3dzLmg+CiAjZWxpZiBQTEFURk9STShHREspCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgorI2Vs
aWYgUExBVEZPUk0oUVQpCisjaW5jbHVkZSA8UUN1cnNvcj4KICNlbmRpZgogCiAjaWZkZWYgX19B
UFBMRV9fCkBAIC01MiwxMyArNTQsMjMgQEAKICAgICB0eXBlZGVmIE5TQ3Vyc29yKiBQbGF0Zm9y
bUN1cnNvcjsKICNlbGlmIFBMQVRGT1JNKEdESykKICAgICB0eXBlZGVmIEdka0N1cnNvciogUGxh
dGZvcm1DdXJzb3I7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICB0eXBlZGVmIFFDdXJzb3IgUGxh
dGZvcm1DdXJzb3I7CiAjZWxzZQogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1DdXJzb3I7CiAj
ZW5kaWYKIAogICAgIGNsYXNzIEN1cnNvciB7CiAgICAgcHVibGljOgotICAgICAgICBDdXJzb3Io
KSA6IG1faW1wbCgwKSB7IH0KKyAgICAgICAgQ3Vyc29yKCkKKyNpZiBQTEFURk9STShRVCkKKyAg
ICAgICAgLy8gdXNlIGRlZmF1bHQgUUN1cnNvciBjb25zdHJ1Y3Rvci4gUUN1cnNvcigwKSBjcmVh
dGVzCisgICAgICAgIC8vIGFuIGludmFsaWQgY3Vyc29yIGR1ZSB0byBpbXBsaWNpdCBjb25zdHJ1
Y3RvcnMgOygKKyNlbHNlCisgICAgICAgIDogbV9pbXBsKDApCisjZW5kaWYKKwkJeyB9CisKICAg
ICAgICAgQ3Vyc29yKEltYWdlKik7CiAgICAgICAgIEN1cnNvcihjb25zdCBDdXJzb3ImKTsKICAg
ICAgICAgfkN1cnNvcigpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Db2xvci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vQ29sb3IuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL0NvbG9yLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTI2LDYgKzI2LDggQEAKICNp
Zm5kZWYgQ09MT1JfSF8KICNkZWZpbmUgQ09MT1JfSF8KIAorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9y
bS5oPgorCiAjaWYgX19BUFBMRV9fCiAKICNpZmRlZiBfX09CSkNfXwpAQCAtMzYsNiArMzgsMTAg
QEAKIAogdHlwZWRlZiBzdHJ1Y3QgQ0dDb2xvciogQ0dDb2xvclJlZjsKIAorI2VuZGlmIC8vIF9f
QVBQTEVfXworCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRQ29sb3I7CiAjZW5kaWYKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtODMsNiArODksMTEgQEAKIAogICAgIENvbG9yIGJsZW5kV2l0
aFdoaXRlKCkgY29uc3Q7CiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBDb2xvcihjb25zdCBRQ29s
b3ImKTsKKyAgICBvcGVyYXRvciBRQ29sb3IoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgc3RhdGlj
IGNvbnN0IFJHQkEzMiBibGFjayA9IDB4RkYwMDAwMDA7CiAgICAgc3RhdGljIGNvbnN0IFJHQkEz
MiB3aGl0ZSA9IDB4RkZGRkZGRkY7CiAgICAgc3RhdGljIGNvbnN0IFJHQkEzMiBkYXJrR3JheSA9
IDB4RkY4MDgwODA7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0Zsb2F0UG9pbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0Zsb2F0UG9pbnQuaAkoUmV2aXNpb24gMTU5MjQpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL0Zsb2F0UG9pbnQuaAkoQXJiZWl0c2tvcGllKQpAQCAtMjgsNiAr
MjgsNyBAQAogI2RlZmluZSBGTE9BVFBPSU5UX0hfCiAKICNpbmNsdWRlICJGbG9hdFNpemUuaCIK
KyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogI2lmIF9fQVBQTEVfXwogCkBAIC00MSw2ICs0
MiwxMCBAQAogCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUVBvaW50RjsKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFBvaW50OwpAQCAtNzAsNiAr
NzUsMTEgQEAKIAogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBGbG9hdFBvaW50KGNv
bnN0IFFQb2ludEYmKTsKKyAgICBvcGVyYXRvciBRUG9pbnRGKCkgY29uc3Q7CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBmbG9hdCBtX3gsIG1feTsKIH07CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L0ludFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0ludFJlY3QuaAkoUmV2
aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0ludFJlY3QuaAkoQXJiZWl0c2tvcGll
KQpAQCAtNDMsNiArNDMsOCBAQAogCiAjaWYgUExBVEZPUk0oV0lOKQogdHlwZWRlZiBzdHJ1Y3Qg
dGFnUkVDVCBSRUNUOworI2VsaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRUmVjdDsKICNlbmRpZgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMDcsNiArMTA5LDkgQEAKICNpZiBQTEFURk9STShX
SU4pCiAgICAgSW50UmVjdChjb25zdCBSRUNUJik7CiAgICAgb3BlcmF0b3IgUkVDVCgpIGNvbnN0
OworI2VsaWYgUExBVEZPUk0oUVQpCisgICAgSW50UmVjdChjb25zdCBRUmVjdCYpOworICAgIG9w
ZXJhdG9yIFFSZWN0KCkgY29uc3Q7CiAjZW5kaWYKIAogI2lmIF9fQVBQTEVfXwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9JbnRQb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
SW50UG9pbnQuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0ludFBvaW50
LmgJKEFyYmVpdHNrb3BpZSkKQEAgLTQzLDYgKzQzLDggQEAKIAogI2lmIFBMQVRGT1JNKFdJTikK
IHR5cGVkZWYgc3RydWN0IHRhZ1BPSU5UIFBPSU5UOworI2VsaWYgUExBVEZPUk0oUVQpCitjbGFz
cyBRUG9pbnQ7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzUsNiArNzcsOSBA
QAogI2lmIFBMQVRGT1JNKFdJTikKICAgICBJbnRQb2ludChjb25zdCBQT0lOVCYpOwogICAgIG9w
ZXJhdG9yIFBPSU5UKCkgY29uc3Q7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICBJbnRQb2ludChj
b25zdCBRUG9pbnQmKTsKKyAgICBvcGVyYXRvciBRUG9pbnQoKSBjb25zdDsKICNlbmRpZgogCiBw
cml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCShS
ZXZpc2lvbiAxNTkyNCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50
LmgJKEFyYmVpdHNrb3BpZSkKQEAgLTQ1LDYgKzQ1LDkgQEAKIHR5cGVkZWYgdW5pb24gX0dka0V2
ZW50IEdka0V2ZW50OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFLZXlFdmVu
dDsKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc0LDYgKzc3LDEwIEBACiAg
ICAgICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudChHZGtFdmVudCopOwogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShRVCkKKyAgICAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50KFFLZXlFdmVudCosIGJv
b2wgaXNLZXlVcCk7CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZyBtX3Rl
eHQ7CiAgICAgICAgIFN0cmluZyBtX3VubW9kaWZpZWRUZXh0OwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9SZXNvdXJjZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUmVz
b3VyY2VMb2FkZXIuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1Jlc291
cmNlTG9hZGVyLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTg5LDcgKzg5LDcgQEAKICAgICBmcmllbmQg
TFJFU1VMVCBfX3N0ZGNhbGwgUmVzb3VyY2VMb2FkZXJXbmRQcm9jKEhXTkQsIHVuc2lnbmVkIG1l
c3NhZ2UsIFdQQVJBTSwgTFBBUkFNKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR0RLKQorI2lm
IFBMQVRGT1JNKEdESykgfHwgUExBVEZPUk0oUVQpCiAgICAgUmVzb3VyY2VMb2FkZXJJbnRlcm5h
bCAqIGdldEludGVybmFsKCkgeyByZXR1cm4gZDt9CiAjZW5kaWYKIApJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9MaXN0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9MaXN0Qm94
LmgJKFJldmlzaW9uIDE1OTI0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9MaXN0Qm94LmgJKEFyYmVp
dHNrb3BpZSkKQEAgLTMxLDYgKzMxLDEwIEBACiAjaW5jbHVkZSAiU2Nyb2xsVmlldy5oIgogI2lu
Y2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUUxpc3RX
aWRnZXQ7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIExpc3RCb3hJdGVt
VHlwZSB7CkBAIC04NCw3ICs4OCwxNiBAQAogICAgIHN0YXRpYyB2b2lkIGNsZWFyQ2FjaGVkVGV4
dFJlbmRlcmVycygpOwogICAgIHZvaWQgc2V0Rm9udChjb25zdCBGb250Jik7CiAKKyNpZiBQTEFU
Rk9STShRVCkKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UGFyZW50V2lkZ2V0KFFXaWRnZXQqIHBhcmVu
dCk7CisjZW5kaWYKKwogcHJpdmF0ZToKKyNpZiBQTEFURk9STShRVCkKKyAgICBRTGlzdFdpZGdl
dCogbV9saXN0V2lkZ2V0OworICAgIFNlbGVjdGlvbk1vZGUgbV9zZWxlY3Rpb25Nb2RlOworI2Vu
ZGlmCisKICAgICB2b2lkIGFwcGVuZEl0ZW0oY29uc3QgRGVwcmVjYXRlZFN0cmluZyAmLCBMaXN0
Qm94SXRlbVR5cGUsIGJvb2wpOwogCiAgICAgLy8gQSBWZWN0b3I8TGlzdEJveEl0ZW0+IG1pZ2h0
IGJlIG1vcmUgZWZmaWNpZW50IGZvciBsYXJnZSBsaXN0cy4KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vV2lkZ2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkoUmV2
aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oCShBcmJlaXRza29waWUp
CkBAIC00NSw2ICs0NSwxMCBAQAogdHlwZWRlZiBzdHJ1Y3QgX0dka0RyYXdhYmxlIEdka0RyYXdh
YmxlOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFXaWRnZXQ7CisjZW5kaWYK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ3Vyc29yOwpAQCAtMTQxLDYgKzE0
NSwxNiBAQAogICAgICAgR2RrRHJhd2FibGUqIGRyYXdhYmxlKCkgY29uc3Q7CiAjZW5kaWYKIAor
CisjaWYgUExBVEZPUk0oUVQpCisgICAgICAgIFFXaWRnZXQqIHBhcmVudFdpZGdldCgpIGNvbnN0
OworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFyZW50V2lkZ2V0KFFXaWRnZXQqIHBhcmVudCk7
CisKKyAgICAgICAgUVdpZGdldCogcXdpZGdldCgpOworICAgICAgICB2b2lkIHNldFFXaWRnZXQo
UVdpZGdldCogd2lkZ2V0KTsKKyNlbmRpZgorCisKICNpZiBfX0FQUExFX18KICAgICAgICAgV2lk
Z2V0KE5TVmlldyogdmlldyk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vSW1hZ2VTb3VyY2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0ltYWdlU291cmNlLmgJKFJldmlzaW9u
IDE1OTI0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9JbWFnZVNvdXJjZS5oCShBcmJlaXRza29waWUp
CkBAIC0zMSw2ICszMSw4IEBACiAKICNpZiBfX0FQUExFX18KICNpbmNsdWRlIDxBcHBsaWNhdGlv
blNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KKyNlbGlmIFBMQVRGT1JNKFFUKQorY2xh
c3MgUUltYWdlOwogI2Vsc2UKIHN0cnVjdCBfY2Fpcm9fc3VyZmFjZTsKIHR5cGVkZWYgc3RydWN0
IF9jYWlyb19zdXJmYWNlIGNhaXJvX3N1cmZhY2VfdDsKQEAgLTQ0LDYgKzQ2LDExIEBACiB0eXBl
ZGVmIENHSW1hZ2VTb3VyY2VSZWYgTmF0aXZlSW1hZ2VTb3VyY2VQdHI7CiB0eXBlZGVmIENHSW1h
Z2VSZWYgTmF0aXZlSW1hZ2VQdHI7CiB0eXBlZGVmIENGRGF0YVJlZiBOYXRpdmVCeXRlUHRyOwor
I2VsaWYgUExBVEZPUk0oUVQpCitjbGFzcyBJbWFnZURlY29kZXI7Cit0eXBlZGVmIEltYWdlRGVj
b2RlciogTmF0aXZlSW1hZ2VTb3VyY2VQdHI7Cit0eXBlZGVmIGNvbnN0IFZlY3RvcjxjaGFyPiog
TmF0aXZlQnl0ZVB0cjsKK3R5cGVkZWYgUUltYWdlKiBOYXRpdmVJbWFnZVB0cjsKICNlbHNlCiBj
bGFzcyBJbWFnZURlY29kZXI7CiB0eXBlZGVmIEltYWdlRGVjb2RlciogTmF0aXZlSW1hZ2VTb3Vy
Y2VQdHI7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1Jlc291cmNlTG9hZGVySW50ZXJuYWwuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1Jlc291cmNlTG9hZGVySW50ZXJuYWwuaAko
UmV2aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1Jlc291cmNlTG9hZGVySW50ZXJu
YWwuaAkoQXJiZWl0c2tvcGllKQpAQCAtNDAsNiArNDAsMTEgQEAKIHR5cGVkZWYgdm9pZCBDVVJM
OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxRU3RyaW5nPgordHlwZWRl
ZiB2b2lkIENVUkw7CisjZW5kaWYKKwogLy8gVGhlIGFsbG9jYXRpb25zIGFuZCByZWxlYXNlcyBp
biBSZXNvdXJjZUxvYWRlckludGVybmFsIGFyZQogLy8gQ29jb2EtZXhjZXB0aW9uLWZyZWUgKGVp
dGhlciBzaW1wbGUgRm91bmRhdGlvbiBjbGFzc2VzIG9yCiAvLyBXZWJDb3JlUmVzb3VyY2VMb2Fk
ZXJJbXAgd2hpY2ggYXZvaWRzIGRvaW5nIHdvcmsgaW4gZGVhbGxvYykuCkBAIC03Miw3ICs3Nyw3
IEBACiAgICAgICAgICAgICAsIG1fZm9ybURhdGFMZW5ndGgoMCkKICAgICAgICAgICAgICwgbV9i
eXRlc1JlbWFpbmluZ1RvV3JpdGUoMCkKICNlbmRpZgotI2lmIFBMQVRGT1JNKEdESykKKyNpZiBQ
TEFURk9STShHREspIHx8IFBMQVRGT1JNKFFUKQogICAgICAgICAgICAgLCBtX2hhbmRsZSgwKQog
I2VuZGlmCiAgICAgICAgIHsKQEAgLTEwMiw3ICsxMDcsNyBAQAogICAgICAgICAgICAgLCBtX2Zv
cm1EYXRhTGVuZ3RoKDApCiAgICAgICAgICAgICAsIG1fYnl0ZXNSZW1haW5pbmdUb1dyaXRlKDAp
CiAjZW5kaWYKLSNpZiBQTEFURk9STShHREspCisjaWYgUExBVEZPUk0oR0RLKSB8fCBQTEFURk9S
TShRVCkKICAgICAgICAgICAgICwgbV9oYW5kbGUoMCkKICNlbmRpZgogICAgICAgICB7CkBAIC0x
NDIsNiArMTQ3LDExIEBACiAjaWYgUExBVEZPUk0oR0RLKQogICAgICAgICBDVVJMICptX2hhbmRs
ZTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKFFUKQorICAgICAgICBDVVJMICptX2hhbmRsZTsKKyAg
ICAgICAgUVN0cmluZyByZXNwb25zZTsKKyNlbmRpZgorCiAgICAgICAgIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vR2x5cGhCdWZmZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0dseXBoQnVmZmVyLmgJKFJldmlzaW9uIDE1OTI0
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9HbHlwaEJ1ZmZlci5oCShBcmJlaXRza29waWUpCkBAIC0z
OSw2ICszOSw4IEBACiAjZWxpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdESykKICNpbmNs
dWRlIDxjYWlyby5oPgogI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgorI2VsaWYgUExBVEZPUk0oUVQp
CisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjZW5kaWYKIAogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTU0LDYgKzU2LDkgQEAKICNlbGlmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR0RL
KQogdHlwZWRlZiBjYWlyb19nbHlwaF90IEdseXBoQnVmZmVyR2x5cGg7CiB0eXBlZGVmIEZsb2F0
U2l6ZSBHbHlwaEJ1ZmZlckFkdmFuY2U7CisjZWxpZiBQTEFURk9STShRVCkKK3R5cGVkZWYgdW5z
aWduZWQgc2hvcnQgR2x5cGhCdWZmZXJHbHlwaDsKK3R5cGVkZWYgRmxvYXRTaXplIEdseXBoQnVm
ZmVyQWR2YW5jZTsKICNlbmRpZgogCiBjbGFzcyBHbHlwaEJ1ZmZlcgpAQCAtOTMsNyArOTgsNyBA
QAogCiAgICAgR2x5cGggZ2x5cGhBdChpbnQgaW5kZXgpIGNvbnN0CiAgICAgewotI2lmIF9fQVBQ
TEVfXworI2lmIF9fQVBQTEVfXyB8fCBQTEFURk9STShRVCkKICAgICAgICAgcmV0dXJuIG1fZ2x5
cGhzW2luZGV4XTsKICNlbGlmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR0RLKQogICAgICAg
ICByZXR1cm4gbV9nbHlwaHNbaW5kZXhdLmluZGV4OwpAQCAtMTA0LDcgKzEwOSw3IEBACiAgICAg
ewogI2lmIF9fQVBQTEVfXwogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF0ud2lkdGg7
Ci0jZWxpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdESykKKyNlbGlmIFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oR0RLKSB8fCBQTEFURk9STShRVCkKICAgICAgICAgcmV0dXJuIG1fYWR2
YW5jZXNbaW5kZXhdLndpZHRoKCk7CiAjZW5kaWYKICAgICB9CkBAIC0xMjQsNiArMTI5LDkgQEAK
ICAgICAgICAgY2Fpcm9HbHlwaC55ID0gMDsKICAgICAgICAgbV9nbHlwaHMuYXBwZW5kKGNhaXJv
R2x5cGgpOwogICAgICAgICBtX2FkdmFuY2VzLmFwcGVuZChGbG9hdFNpemUod2lkdGgsIDApKTsK
KyNlbGlmIFBMQVRGT1JNKFFUKQorICAgICAgICBtX2dseXBocy5hcHBlbmQoZ2x5cGgpOworICAg
ICAgICBtX2FkdmFuY2VzLmFwcGVuZChGbG9hdFNpemUod2lkdGgsIDApKTsKICNlbmRpZgogICAg
IH0KICAgICAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vRmxvYXRSZWN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9GbG9hdFJlY3QuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL0Zsb2F0UmVjdC5oCShBcmJlaXRza29waWUpCkBAIC0zOSw2ICszOSwxMCBA
QAogdHlwZWRlZiBzdHJ1Y3QgX05TUmVjdCBOU1JlY3Q7CiAjZW5kaWYKIAorI2VuZGlmIC8vIF9f
QVBQTEVfXworCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRUmVjdEY7CiAjZW5kaWYKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA1LDYgKzEwOSw5IEBACiAgICAgb3BlcmF0b3IgTlNSZWN0
KCkgY29uc3Q7CiAjZW5kaWYKIAorI2VsaWYgUExBVEZPUk0oUVQpCisgICAgRmxvYXRSZWN0KGNv
bnN0IFFSZWN0RiYpOworICAgIG9wZXJhdG9yIFFSZWN0RigpIGNvbnN0OwogI2VuZGlmCiAKIHBy
aXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0ludFNpemUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL0ludFNpemUuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL0ludFNpemUuaAkoQXJiZWl0c2tvcGllKQpAQCAtNDIsNiArNDIsOCBAQAogCiAjaWYg
UExBVEZPUk0oV0lOKQogdHlwZWRlZiBzdHJ1Y3QgdGFnU0laRSBTSVpFOworI2VsaWYgUExBVEZP
Uk0oUVQpCitjbGFzcyBRU2l6ZTsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC05
Myw2ICs5NSwxMiBAQAogICAgIG9wZXJhdG9yIFNJWkUoKSBjb25zdDsKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oUVQpCisgICAgSW50U2l6ZShjb25zdCBRU2l6ZSYpOworICAgIG9wZXJhdG9yIFFT
aXplKCkgY29uc3Q7CisjZW5kaWYKKworCiBwcml2YXRlOgogICAgIGludCBtX3dpZHRoLCBtX2hl
aWdodDsKIH07CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAkoQXJiZWl0c2tvcGllKQpAQCAtMzAsNiArMzAs
MTAgQEAKICNpbmNsdWRlICJXaWRnZXQuaCIKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAor
I2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUVNjcm9sbEFyZWE7CisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEZsb2F0UmVjdDsKIApAQCAtMTAxLDYgKzEwNSwxNiBAQAog
ICAgICAgICBjbGFzcyBTY3JvbGxWaWV3UHJpdmF0ZTsKICAgICAgICAgU2Nyb2xsVmlld1ByaXZh
dGUqIG1fZGF0YTsKICNlbmRpZgorCisjaWYgUExBVEZPUk0oUVQpCisgICAgICAgIFNjcm9sbFZp
ZXcoKTsKKyAgICAgICAgflNjcm9sbFZpZXcoKTsKKworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0
UGFyZW50V2lkZ2V0KFFXaWRnZXQqIHBhcmVudCk7CisKKyAgICBwcml2YXRlOgorICAgICAgICBR
U2Nyb2xsQXJlYSogbV9hcmVhOworI2VuZGlmCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QYXRoLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9QYXRoLmgJKFJldmlzaW9uIDE1OTI0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Q
YXRoLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTI4LDYgKzI4LDkgQEAKIAogI2lmIF9fQVBQTEVfXwog
dHlwZWRlZiBzdHJ1Y3QgQ0dQYXRoIFBsYXRmb3JtUGF0aDsKKyNlbGlmIFBMQVRGT1JNKFFUKQor
Y2xhc3MgUVBhaW50ZXJQYXRoOwordHlwZWRlZiBRUGFpbnRlclBhdGggUGxhdGZvcm1QYXRoOwog
I2Vsc2UKIHR5cGVkZWYgdm9pZCBQbGF0Zm9ybVBhdGg7CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1Nb3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAkoUmV2aXNpb24gMTU5MjQpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtTW91c2VFdmVudC5oCShBcmJlaXRza29waWUpCkBAIC00Nyw2ICs0Nywx
MCBAQAogdHlwZWRlZiB1bmlvbiBfR2RrRXZlbnQgR2RrRXZlbnQ7CiAjZW5kaWYKIAorI2lmIFBM
QVRGT1JNKFFUKQorY2xhc3MgUU1vdXNlRXZlbnQ7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgLy8gVGhlc2UgYnV0dG9uIG51bWJlcnMgbWF0Y2ggdGhlIG9uZSB1c2VkIGlu
IHRoZSBET00gQVBJLgpAQCAtMTAwLDYgKzEwNCw5IEBACiAjaWYgUExBVEZPUk0oR0RLKSAKICAg
ICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KEdka0V2ZW50Kik7CiAjZW5kaWYKKyNpZiBQTEFURk9S
TShRVCkKKyAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50KFFNb3VzZUV2ZW50KiwgaW50IGNsaWNr
Q291bnQpOworI2VuZGlmCiAKICAgICBwcml2YXRlOgogICAgICAgICBJbnRQb2ludCBtX3Bvc2l0
aW9uOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9SZXNvdXJjZUxvYWRlckNsaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJDbGllbnQuaAkoUmV2aXNp
b24gMTU5MjQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1Jlc291cmNlTG9hZGVyQ2xpZW50LmgJKEFy
YmVpdHNrb3BpZSkKQEAgLTQxLDYgKzQxLDkgQEAKICNpZmRlZiBfX0FQUExFX18KICAgICB0eXBl
ZGVmIE5TRGF0YSogUGxhdGZvcm1EYXRhOwogICAgIHR5cGVkZWYgTlNVUkxSZXNwb25zZSogUGxh
dGZvcm1SZXNwb25zZTsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1EYXRhOworICAgIHR5cGVkZWYgY2hhciogUGxhdGZvcm1SZXNwb25zZTsKICNlbHNlCiAg
ICAgLy8gTm90IHN1cmUgd2hhdCB0aGUgc3RyYXRlZ3kgZm9yIHRoaXMgd2lsbCBiZSBvbiBvdGhl
ciBwbGF0Zm9ybXMuCiAgICAgdHlwZWRlZiBzdHJ1Y3QgUGxhdGZvcm1EYXRhU3RydWN0ICpQbGF0
Zm9ybURhdGE7Cg==
</data>
<flag name="review"
          id="3148"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10118</attachid>
            <date>2006-08-18 02:21:15 -0700</date>
            <delta_ts>2006-08-18 02:32:59 -0700</delta_ts>
            <desc>Corrected patch</desc>
            <filename>platform-qt-hooks.diff</filename>
            <type>text/plain</type>
            <size>14297</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNTkyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDUgKzEsMzcgQEAKIDIwMDYtMDgtMTcgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlczogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDQ2NgorICAgICAgICBXZWJLaXQgc2hvdWxkIGhhdmUgUXQgcGxhdGZvcm0gc3VwcG9ydC4K
KworICAgICAgICAqIHBsYXRmb3JtL0NvbG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vQ3Vyc29y
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6CisgICAgICAgICogcGxhdGZv
cm0vRmxvYXRQb2ludC5oOgorICAgICAgICAqIHBsYXRmb3JtL0Zsb2F0UmVjdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0dseXBoQnVmZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZl
cjo6Z2x5cGhBdCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6YWR2YW5jZUF0KToK
KyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjphZGQpOgorICAgICAgICAqIHBsYXRmb3Jt
L0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL0ltYWdlU291cmNlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9JbnRSZWN0
Lmg6CisgICAgICAgICogcGxhdGZvcm0vSW50U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0xp
c3RCb3guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXRoLmg6CisgICAgICAgICogcGxhdGZvcm0v
UGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1Nb3Vz
ZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9SZXNvdXJjZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Jl
c291cmNlTG9hZGVySW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
SW50ZXJuYWw6OlJlc291cmNlTG9hZGVySW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9XaWRnZXQuaDoKKworMjAwNi0wOC0xNyAg
Tmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgorCiAgICAgICAgIFJldmll
d2VkIGJ5IEFuZGVycy4KIAogICAgICAgICBGaXhlczogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0NwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9HcmFw
aGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0dyYXBoaWNzQ29u
dGV4dC5oCShSZXZpc2lvbiAxNTkzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vR3JhcGhpY3NDb250
ZXh0LmgJKEFyYmVpdHNrb3BpZSkKQEAgLTQ0LDYgKzQ0LDkgQEAKIHR5cGVkZWYgc3RydWN0IF9j
YWlybyBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKICNlbGlmIFBMQVRGT1JNKEdESykKIHR5cGVk
ZWYgc3RydWN0IF9jYWlybyBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKKyNlbGlmIFBMQVRGT1JN
KFFUKQorY2xhc3MgUVBhaW50ZXI7Cit0eXBlZGVmIFFQYWludGVyIFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0OwogI2Vsc2UKIHR5cGVkZWYgdm9pZCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDsKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL0N1cnNvci5oCShSZXZpc2lvbiAxNTkzMCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vQ3Vyc29yLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlIDx3
aW5kb3dzLmg+CiAjZWxpZiBQTEFURk9STShHREspCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgorI2Vs
aWYgUExBVEZPUk0oUVQpCisjaW5jbHVkZSA8UUN1cnNvcj4KICNlbmRpZgogCiAjaWZkZWYgX19B
UFBMRV9fCkBAIC01MiwxMyArNTQsMjAgQEAKICAgICB0eXBlZGVmIE5TQ3Vyc29yKiBQbGF0Zm9y
bUN1cnNvcjsKICNlbGlmIFBMQVRGT1JNKEdESykKICAgICB0eXBlZGVmIEdka0N1cnNvciogUGxh
dGZvcm1DdXJzb3I7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICB0eXBlZGVmIFFDdXJzb3IgUGxh
dGZvcm1DdXJzb3I7CiAjZWxzZQogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1DdXJzb3I7CiAj
ZW5kaWYKIAogICAgIGNsYXNzIEN1cnNvciB7CiAgICAgcHVibGljOgotICAgICAgICBDdXJzb3Io
KSA6IG1faW1wbCgwKSB7IH0KKyAgICAgICAgQ3Vyc29yKCkKKyNpZiAhUExBVEZPUk0oUVQpCisg
ICAgICAgIDogbV9pbXBsKDApCisjZW5kaWYKKyAgICAgICAgeyB9CisKICAgICAgICAgQ3Vyc29y
KEltYWdlKik7CiAgICAgICAgIEN1cnNvcihjb25zdCBDdXJzb3ImKTsKICAgICAgICAgfkN1cnNv
cigpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Db2xvci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vQ29sb3IuaAkoUmV2aXNpb24gMTU5MzApCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L0NvbG9yLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgQ09MT1Jf
SF8KICNkZWZpbmUgQ09MT1JfSF8KIAorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCiAjaWYg
X19BUFBMRV9fCiAKICNpZmRlZiBfX09CSkNfXwpAQCAtMzYsNiArMzgsMTAgQEAKIAogdHlwZWRl
ZiBzdHJ1Y3QgQ0dDb2xvciogQ0dDb2xvclJlZjsKIAorI2VuZGlmIC8vIF9fQVBQTEVfXworCisj
aWYgUExBVEZPUk0oUVQpCitjbGFzcyBRQ29sb3I7CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtODMsNiArODksMTEgQEAKIAogICAgIENvbG9yIGJsZW5kV2l0aFdoaXRlKCkgY29u
c3Q7CiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBDb2xvcihjb25zdCBRQ29sb3ImKTsKKyAgICBv
cGVyYXRvciBRQ29sb3IoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgc3RhdGljIGNvbnN0IFJHQkEz
MiBibGFjayA9IDB4RkYwMDAwMDA7CiAgICAgc3RhdGljIGNvbnN0IFJHQkEzMiB3aGl0ZSA9IDB4
RkZGRkZGRkY7CiAgICAgc3RhdGljIGNvbnN0IFJHQkEzMiBkYXJrR3JheSA9IDB4RkY4MDgwODA7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0Zsb2F0UG9pbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL0Zsb2F0UG9pbnQuaAkoUmV2aXNpb24gMTU5MzApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL0Zsb2F0UG9pbnQuaAkoQXJiZWl0c2tvcGllKQpAQCAtMjgsNiArMjgsNyBAQAogI2Rl
ZmluZSBGTE9BVFBPSU5UX0hfCiAKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogI2lmIF9fQVBQTEVfXwogCkBAIC00MSw2ICs0MiwxMCBAQAogCiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQorY2xhc3MgUVBvaW50RjsKKyNlbmRpZgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFBvaW50OwpAQCAtNzAsNiArNzUsMTEgQEAKIAog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKKyAgICBGbG9hdFBvaW50KGNvbnN0IFFQb2ludEYm
KTsKKyAgICBvcGVyYXRvciBRUG9pbnRGKCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBmbG9hdCBtX3gsIG1feTsKIH07CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0ludFJlY3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0ludFJlY3QuaAkoUmV2aXNpb24gMTU5MzAp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL0ludFJlY3QuaAkoQXJiZWl0c2tvcGllKQpAQCAtNDMsNiAr
NDMsOCBAQAogCiAjaWYgUExBVEZPUk0oV0lOKQogdHlwZWRlZiBzdHJ1Y3QgdGFnUkVDVCBSRUNU
OworI2VsaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRUmVjdDsKICNlbmRpZgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0xMDcsNiArMTA5LDkgQEAKICNpZiBQTEFURk9STShXSU4pCiAgICAgSW50
UmVjdChjb25zdCBSRUNUJik7CiAgICAgb3BlcmF0b3IgUkVDVCgpIGNvbnN0OworI2VsaWYgUExB
VEZPUk0oUVQpCisgICAgSW50UmVjdChjb25zdCBRUmVjdCYpOworICAgIG9wZXJhdG9yIFFSZWN0
KCkgY29uc3Q7CiAjZW5kaWYKIAogI2lmIF9fQVBQTEVfXwpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9JbnRQb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vSW50UG9pbnQuaAko
UmV2aXNpb24gMTU5MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0ludFBvaW50LmgJKEFyYmVpdHNr
b3BpZSkKQEAgLTQzLDYgKzQzLDggQEAKIAogI2lmIFBMQVRGT1JNKFdJTikKIHR5cGVkZWYgc3Ry
dWN0IHRhZ1BPSU5UIFBPSU5UOworI2VsaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRUG9pbnQ7CiAj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzUsNiArNzcsOSBAQAogI2lmIFBMQVRG
T1JNKFdJTikKICAgICBJbnRQb2ludChjb25zdCBQT0lOVCYpOwogICAgIG9wZXJhdG9yIFBPSU5U
KCkgY29uc3Q7CisjZWxpZiBQTEFURk9STShRVCkKKyAgICBJbnRQb2ludChjb25zdCBRUG9pbnQm
KTsKKyAgICBvcGVyYXRvciBRUG9pbnQoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCShSZXZpc2lvbiAxNTkz
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgJKEFyYmVpdHNr
b3BpZSkKQEAgLTQ1LDYgKzQ1LDkgQEAKIHR5cGVkZWYgdW5pb24gX0dka0V2ZW50IEdka0V2ZW50
OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFLZXlFdmVudDsKKyNlbmRpZgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc0LDYgKzc3LDEwIEBACiAgICAgICAgIFBsYXRm
b3JtS2V5Ym9hcmRFdmVudChHZGtFdmVudCopOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkK
KyAgICAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50KFFLZXlFdmVudCosIGJvb2wgaXNLZXlVcCk7
CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAgIFN0cmluZyBtX3RleHQ7CiAgICAgICAg
IFN0cmluZyBtX3VubW9kaWZpZWRUZXh0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9SZXNvdXJj
ZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXIu
aAkoUmV2aXNpb24gMTU5MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL1Jlc291cmNlTG9hZGVyLmgJ
KEFyYmVpdHNrb3BpZSkKQEAgLTg5LDggKzg5LDggQEAKICAgICBmcmllbmQgTFJFU1VMVCBfX3N0
ZGNhbGwgUmVzb3VyY2VMb2FkZXJXbmRQcm9jKEhXTkQsIHVuc2lnbmVkIG1lc3NhZ2UsIFdQQVJB
TSwgTFBBUkFNKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR0RLKQotICAgIFJlc291cmNlTG9h
ZGVySW50ZXJuYWwgKiBnZXRJbnRlcm5hbCgpIHsgcmV0dXJuIGQ7fQorI2lmIFBMQVRGT1JNKEdE
SykgfHwgUExBVEZPUk0oUVQpCisgICAgUmVzb3VyY2VMb2FkZXJJbnRlcm5hbCogZ2V0SW50ZXJu
YWwoKSB7IHJldHVybiBkOyB9CiAjZW5kaWYKIAogICAgIHZvaWQgY2FuY2VsKCk7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL0xpc3RCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L0xpc3RCb3guaAkoUmV2aXNpb24gMTU5MzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0xpc3RCb3gu
aAkoQXJiZWl0c2tvcGllKQpAQCAtMzEsNiArMzEsMTAgQEAKICNpbmNsdWRlICJTY3JvbGxWaWV3
LmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgogCisjaWYgUExBVEZPUk0oUVQpCitjbGFz
cyBRTGlzdFdpZGdldDsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gTGlz
dEJveEl0ZW1UeXBlIHsKQEAgLTg0LDcgKzg4LDE2IEBACiAgICAgc3RhdGljIHZvaWQgY2xlYXJD
YWNoZWRUZXh0UmVuZGVyZXJzKCk7CiAgICAgdm9pZCBzZXRGb250KGNvbnN0IEZvbnQmKTsKIAor
I2lmIFBMQVRGT1JNKFFUKQorICAgIHZpcnR1YWwgdm9pZCBzZXRQYXJlbnRXaWRnZXQoUVdpZGdl
dCopOworI2VuZGlmCisKIHByaXZhdGU6CisjaWYgUExBVEZPUk0oUVQpCisgICAgUUxpc3RXaWRn
ZXQqIG1fbGlzdFdpZGdldDsKKyAgICBTZWxlY3Rpb25Nb2RlIG1fc2VsZWN0aW9uTW9kZTsKKyNl
bmRpZgorCiAgICAgdm9pZCBhcHBlbmRJdGVtKGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcgJiwgTGlz
dEJveEl0ZW1UeXBlLCBib29sKTsKIAogICAgIC8vIEEgVmVjdG9yPExpc3RCb3hJdGVtPiBtaWdo
dCBiZSBtb3JlIGVmZmljaWVudCBmb3IgbGFyZ2UgbGlzdHMuCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL1dpZGdldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgJKFJl
dmlzaW9uIDE1OTMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaAkoQXJiZWl0c2tvcGll
KQpAQCAtNDUsNiArNDUsMTAgQEAKIHR5cGVkZWYgc3RydWN0IF9HZGtEcmF3YWJsZSBHZGtEcmF3
YWJsZTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRV2lkZ2V0OworI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEN1cnNvcjsKQEAgLTE0MSw2ICsx
NDUsMTYgQEAKICAgICAgIEdka0RyYXdhYmxlKiBkcmF3YWJsZSgpIGNvbnN0OwogI2VuZGlmCiAK
KworI2lmIFBMQVRGT1JNKFFUKQorICAgICAgICBRV2lkZ2V0KiBwYXJlbnRXaWRnZXQoKSBjb25z
dDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNldFBhcmVudFdpZGdldChRV2lkZ2V0Kik7CisKKyAg
ICAgICAgUVdpZGdldCogcXdpZGdldCgpOworICAgICAgICB2b2lkIHNldFFXaWRnZXQoUVdpZGdl
dCopOworI2VuZGlmCisKKwogI2lmIF9fQVBQTEVfXwogICAgICAgICBXaWRnZXQoTlNWaWV3KiB2
aWV3KTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9JbWFnZVNvdXJjZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vSW1hZ2VTb3VyY2UuaAkoUmV2aXNpb24gMTU5MzApCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL0ltYWdlU291cmNlLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTMxLDYgKzMx
LDggQEAKIAogI2lmIF9fQVBQTEVfXwogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBw
bGljYXRpb25TZXJ2aWNlcy5oPgorI2VsaWYgUExBVEZPUk0oUVQpCitjbGFzcyBRSW1hZ2U7CiAj
ZWxzZQogc3RydWN0IF9jYWlyb19zdXJmYWNlOwogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX3N1cmZh
Y2UgY2Fpcm9fc3VyZmFjZV90OwpAQCAtNDQsNiArNDYsMTEgQEAKIHR5cGVkZWYgQ0dJbWFnZVNv
dXJjZVJlZiBOYXRpdmVJbWFnZVNvdXJjZVB0cjsKIHR5cGVkZWYgQ0dJbWFnZVJlZiBOYXRpdmVJ
bWFnZVB0cjsKIHR5cGVkZWYgQ0ZEYXRhUmVmIE5hdGl2ZUJ5dGVQdHI7CisjZWxpZiBQTEFURk9S
TShRVCkKK2NsYXNzIEltYWdlRGVjb2RlcjsKK3R5cGVkZWYgSW1hZ2VEZWNvZGVyKiBOYXRpdmVJ
bWFnZVNvdXJjZVB0cjsKK3R5cGVkZWYgY29uc3QgVmVjdG9yPGNoYXI+KiBOYXRpdmVCeXRlUHRy
OwordHlwZWRlZiBRSW1hZ2UqIE5hdGl2ZUltYWdlUHRyOwogI2Vsc2UKIGNsYXNzIEltYWdlRGVj
b2RlcjsKIHR5cGVkZWYgSW1hZ2VEZWNvZGVyKiBOYXRpdmVJbWFnZVNvdXJjZVB0cjsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oCShSZXZpc2lvbiAxNTkz
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJJbnRlcm5hbC5oCShBcmJlaXRz
a29waWUpCkBAIC00MCw2ICs0MCwxMSBAQAogdHlwZWRlZiB2b2lkIENVUkw7CiAjZW5kaWYKIAor
I2lmIFBMQVRGT1JNKFFUKQorI2luY2x1ZGUgPFFTdHJpbmc+Cit0eXBlZGVmIHZvaWQgQ1VSTDsK
KyNlbmRpZgorCiAvLyBUaGUgYWxsb2NhdGlvbnMgYW5kIHJlbGVhc2VzIGluIFJlc291cmNlTG9h
ZGVySW50ZXJuYWwgYXJlCiAvLyBDb2NvYS1leGNlcHRpb24tZnJlZSAoZWl0aGVyIHNpbXBsZSBG
b3VuZGF0aW9uIGNsYXNzZXMgb3IKIC8vIFdlYkNvcmVSZXNvdXJjZUxvYWRlckltcCB3aGljaCBh
dm9pZHMgZG9pbmcgd29yayBpbiBkZWFsbG9jKS4KQEAgLTcyLDcgKzc3LDcgQEAKICAgICAgICAg
ICAgICwgbV9mb3JtRGF0YUxlbmd0aCgwKQogICAgICAgICAgICAgLCBtX2J5dGVzUmVtYWluaW5n
VG9Xcml0ZSgwKQogI2VuZGlmCi0jaWYgUExBVEZPUk0oR0RLKQorI2lmIFBMQVRGT1JNKEdESykg
fHwgUExBVEZPUk0oUVQpCiAgICAgICAgICAgICAsIG1faGFuZGxlKDApCiAjZW5kaWYKICAgICAg
ICAgewpAQCAtMTAyLDcgKzEwNyw3IEBACiAgICAgICAgICAgICAsIG1fZm9ybURhdGFMZW5ndGgo
MCkKICAgICAgICAgICAgICwgbV9ieXRlc1JlbWFpbmluZ1RvV3JpdGUoMCkKICNlbmRpZgotI2lm
IFBMQVRGT1JNKEdESykKKyNpZiBQTEFURk9STShHREspIHx8IFBMQVRGT1JNKFFUKQogICAgICAg
ICAgICAgLCBtX2hhbmRsZSgwKQogI2VuZGlmCiAgICAgICAgIHsKQEAgLTE0Miw2ICsxNDcsMTEg
QEAKICNpZiBQTEFURk9STShHREspCiAgICAgICAgIENVUkwgKm1faGFuZGxlOwogI2VuZGlmCisj
aWYgUExBVEZPUk0oUVQpCisgICAgICAgIENVUkwgKm1faGFuZGxlOworICAgICAgICBRU3RyaW5n
IHJlc3BvbnNlOworI2VuZGlmCisKICAgICAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9HbHlwaEJ1ZmZlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vR2x5cGhCdWZmZXIuaAkoUmV2aXNpb24gMTU5MzApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL0dseXBoQnVmZmVyLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTM5LDYgKzM5LDggQEAK
ICNlbGlmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oR0RLKQogI2luY2x1ZGUgPGNhaXJvLmg+
CiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCisjZWxpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlICJG
bG9hdFNpemUuaCIKICNlbmRpZgogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTQsNiAr
NTYsOSBAQAogI2VsaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHREspCiB0eXBlZGVmIGNh
aXJvX2dseXBoX3QgR2x5cGhCdWZmZXJHbHlwaDsKIHR5cGVkZWYgRmxvYXRTaXplIEdseXBoQnVm
ZmVyQWR2YW5jZTsKKyNlbGlmIFBMQVRGT1JNKFFUKQordHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBH
bHlwaEJ1ZmZlckdseXBoOwordHlwZWRlZiBGbG9hdFNpemUgR2x5cGhCdWZmZXJBZHZhbmNlOwog
I2VuZGlmCiAKIGNsYXNzIEdseXBoQnVmZmVyCkBAIC05Myw3ICs5OCw3IEBACiAKICAgICBHbHlw
aCBnbHlwaEF0KGludCBpbmRleCkgY29uc3QKICAgICB7Ci0jaWYgX19BUFBMRV9fCisjaWYgX19B
UFBMRV9fIHx8IFBMQVRGT1JNKFFUKQogICAgICAgICByZXR1cm4gbV9nbHlwaHNbaW5kZXhdOwog
I2VsaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHREspCiAgICAgICAgIHJldHVybiBtX2ds
eXBoc1tpbmRleF0uaW5kZXg7CkBAIC0xMDQsNyArMTA5LDcgQEAKICAgICB7CiAjaWYgX19BUFBM
RV9fCiAgICAgICAgIHJldHVybiBtX2FkdmFuY2VzW2luZGV4XS53aWR0aDsKLSNlbGlmIFBMQVRG
T1JNKFdJTikgfHwgUExBVEZPUk0oR0RLKQorI2VsaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9S
TShHREspIHx8IFBMQVRGT1JNKFFUKQogICAgICAgICByZXR1cm4gbV9hZHZhbmNlc1tpbmRleF0u
d2lkdGgoKTsKICNlbmRpZgogICAgIH0KQEAgLTEyNCw2ICsxMjksOSBAQAogICAgICAgICBjYWly
b0dseXBoLnkgPSAwOwogICAgICAgICBtX2dseXBocy5hcHBlbmQoY2Fpcm9HbHlwaCk7CiAgICAg
ICAgIG1fYWR2YW5jZXMuYXBwZW5kKEZsb2F0U2l6ZSh3aWR0aCwgMCkpOworI2VsaWYgUExBVEZP
Uk0oUVQpCisgICAgICAgIG1fZ2x5cGhzLmFwcGVuZChnbHlwaCk7CisgICAgICAgIG1fYWR2YW5j
ZXMuYXBwZW5kKEZsb2F0U2l6ZSh3aWR0aCwgMCkpOwogI2VuZGlmCiAgICAgfQogICAgIApJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9GbG9hdFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL0Zsb2F0UmVjdC5oCShSZXZpc2lvbiAxNTkzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
RmxvYXRSZWN0LmgJKEFyYmVpdHNrb3BpZSkKQEAgLTM5LDYgKzM5LDEwIEBACiB0eXBlZGVmIHN0
cnVjdCBfTlNSZWN0IE5TUmVjdDsKICNlbmRpZgogCisjZW5kaWYgLy8gX19BUFBMRV9fCisKKyNp
ZiBQTEFURk9STShRVCkKK2NsYXNzIFFSZWN0RjsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC0xMDUsNiArMTA5LDkgQEAKICAgICBvcGVyYXRvciBOU1JlY3QoKSBjb25zdDsKICNl
bmRpZgogCisjZWxpZiBQTEFURk9STShRVCkKKyAgICBGbG9hdFJlY3QoY29uc3QgUVJlY3RGJik7
CisgICAgb3BlcmF0b3IgUVJlY3RGKCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vSW50U2l6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vSW50U2l6ZS5oCShSZXZpc2lvbiAxNTkzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vSW50U2l6
ZS5oCShBcmJlaXRza29waWUpCkBAIC00Miw2ICs0Miw4IEBACiAKICNpZiBQTEFURk9STShXSU4p
CiB0eXBlZGVmIHN0cnVjdCB0YWdTSVpFIFNJWkU7CisjZWxpZiBQTEFURk9STShRVCkKK2NsYXNz
IFFTaXplOwogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTkzLDYgKzk1LDEyIEBA
CiAgICAgb3BlcmF0b3IgU0laRSgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkK
KyAgICBJbnRTaXplKGNvbnN0IFFTaXplJik7CisgICAgb3BlcmF0b3IgUVNpemUoKSBjb25zdDsK
KyNlbmRpZgorCisKIHByaXZhdGU6CiAgICAgaW50IG1fd2lkdGgsIG1faGVpZ2h0OwogfTsKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5oCShSZXZpc2lvbiAxNTkzMCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5oCShBcmJlaXRza29waWUpCkBAIC0zMCw2ICszMCwxMCBAQAogI2luY2x1
ZGUgIldpZGdldC5oIgogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCisjaWYgUExBVEZPUk0o
UVQpCitjbGFzcyBRU2Nyb2xsQXJlYTsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgRmxvYXRSZWN0OwogCkBAIC0xMDEsNiArMTA1LDE2IEBACiAgICAgICAgIGNsYXNz
IFNjcm9sbFZpZXdQcml2YXRlOwogICAgICAgICBTY3JvbGxWaWV3UHJpdmF0ZSogbV9kYXRhOwog
I2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkKKyAgICAgICAgU2Nyb2xsVmlldygpOworICAgICAg
ICB+U2Nyb2xsVmlldygpOworCisgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRQYXJlbnRXaWRnZXQo
UVdpZGdldCopOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUVNjcm9sbEFyZWEqIG1fYXJlYTsK
KyNlbmRpZgogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vUGF0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUGF0aC5oCShS
ZXZpc2lvbiAxNTkzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGF0aC5oCShBcmJlaXRza29waWUp
CkBAIC0yOCw2ICsyOCw5IEBACiAKICNpZiBfX0FQUExFX18KIHR5cGVkZWYgc3RydWN0IENHUGF0
aCBQbGF0Zm9ybVBhdGg7CisjZWxpZiBQTEFURk9STShRVCkKK2NsYXNzIFFQYWludGVyUGF0aDsK
K3R5cGVkZWYgUVBhaW50ZXJQYXRoIFBsYXRmb3JtUGF0aDsKICNlbHNlCiB0eXBlZGVmIHZvaWQg
UGxhdGZvcm1QYXRoOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTW91
c2VFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Nb3VzZUV2
ZW50LmgJKFJldmlzaW9uIDE1OTMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNl
RXZlbnQuaAkoQXJiZWl0c2tvcGllKQpAQCAtNDcsNiArNDcsMTAgQEAKIHR5cGVkZWYgdW5pb24g
X0dka0V2ZW50IEdka0V2ZW50OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShRVCkKK2NsYXNzIFFN
b3VzZUV2ZW50OworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFRoZXNl
IGJ1dHRvbiBudW1iZXJzIG1hdGNoIHRoZSBvbmUgdXNlZCBpbiB0aGUgRE9NIEFQSS4KQEAgLTEw
MCw2ICsxMDQsOSBAQAogI2lmIFBMQVRGT1JNKEdESykgCiAgICAgICAgIFBsYXRmb3JtTW91c2VF
dmVudChHZGtFdmVudCopOwogI2VuZGlmCisjaWYgUExBVEZPUk0oUVQpCisgICAgICAgIFBsYXRm
b3JtTW91c2VFdmVudChRTW91c2VFdmVudCosIGludCBjbGlja0NvdW50KTsKKyNlbmRpZgogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgSW50UG9pbnQgbV9wb3NpdGlvbjsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vUmVzb3VyY2VMb2FkZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL1Jlc291cmNlTG9hZGVyQ2xpZW50LmgJKFJldmlzaW9uIDE1OTMwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9SZXNvdXJjZUxvYWRlckNsaWVudC5oCShBcmJlaXRza29waWUpCkBAIC00MSw2
ICs0MSw5IEBACiAjaWZkZWYgX19BUFBMRV9fCiAgICAgdHlwZWRlZiBOU0RhdGEqIFBsYXRmb3Jt
RGF0YTsKICAgICB0eXBlZGVmIE5TVVJMUmVzcG9uc2UqIFBsYXRmb3JtUmVzcG9uc2U7CisjZWxp
ZiBQTEFURk9STShRVCkKKyAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtRGF0YTsKKyAgICB0eXBl
ZGVmIGNoYXIqIFBsYXRmb3JtUmVzcG9uc2U7CiAjZWxzZQogICAgIC8vIE5vdCBzdXJlIHdoYXQg
dGhlIHN0cmF0ZWd5IGZvciB0aGlzIHdpbGwgYmUgb24gb3RoZXIgcGxhdGZvcm1zLgogICAgIHR5
cGVkZWYgc3RydWN0IFBsYXRmb3JtRGF0YVN0cnVjdCAqUGxhdGZvcm1EYXRhOwo=
</data>
<flag name="review"
          id="3152"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>