<?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>22423</bug_id>
          
          <creation_ts>2008-11-22 07:50:58 -0800</creation_ts>
          <short_desc>Implement &lt;go&gt;/&lt;prev&gt;/&lt;refresh&gt; and &lt;setvar&gt; for WML.</short_desc>
          <delta_ts>2008-11-22 10:05:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</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>20393</blocked>
          <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>99776</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-22 07:50:58 -0800</bug_when>
    <thetext>Add remaining task elements: &lt;go&gt; / &lt;prev&gt; / &lt;refresh&gt; support. &lt;go&gt; can be stubbed for now. &lt;refresh&lt;/prev&gt; are easy and should be implemented. &lt;setvar&gt; support is easy as well, and can be enabled soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99777</commentid>
    <comment_count>1</comment_count>
      <attachid>25374</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-22 07:52:20 -0800</bug_when>
    <thetext>Created attachment 25374
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99781</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-22 08:36:58 -0800</bug_when>
    <thetext>Got r+ on IRC by Holger. He forgot to set it here. Committing anyway, leaving bug open until the patch is correctly r+ed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99787</commentid>
    <comment_count>3</comment_count>
      <attachid>25374</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-22 09:48:30 -0800</bug_when>
    <thetext>Comment on attachment 25374
Initial patch

Dicussed this with Nico on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99788</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-22 10:05:42 -0800</bug_when>
    <thetext>Landed in r38692.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25374</attachid>
            <date>2008-11-22 07:52:20 -0800</date>
            <delta_ts>2008-11-22 09:48:30 -0800</delta_ts>
            <desc>Initial patch</desc>
            <filename>AddSomeImpls.diff</filename>
            <type>text/plain</type>
            <size>19187</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4Njkx
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDAgQEAKKzIwMDgtMTEt
MjIgIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IDxnbz4gc3R1YiBpbXBsZW1lbnRhdGlvbi4gQWRkIGNvbXBsZXRlIDxwcmV2Pi88cmVmcmVzaD4g
YW5kIDxzZXR2YXI+IGltcGxlbWVudGF0aW9uLgorICAgICAgICBBY3RpdmF0ZSBjb2RlIGhhbmRs
aW5nIDxzZXR2YXI+IHJlZ2lzdHJhdGlvbiBpbiBXTUxUYXNrRWxlbWVudC4KKworICAgICAgICAq
IHdtbC9XTUxHb0VsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldNTEdvRWxl
bWVudDo6V01MR29FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldNTEdvRWxlbWVudDo6fldN
TEdvRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpXTUxHb0VsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldNTEdvRWxlbWVudDo6ZXhlY3V0ZVRhc2sp
OgorICAgICAgICAqIHdtbC9XTUxHb0VsZW1lbnQuaDogQWRkZWQuCisgICAgICAgICogd21sL1dN
TFByZXZFbGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXTUxQcmV2RWxlbWVu
dDo6V01MUHJldkVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6V01MUHJldkVsZW1lbnQ6On5X
TUxQcmV2RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpXTUxQcmV2RWxlbWVudDo6ZXhlY3V0
ZVRhc2spOgorICAgICAgICAqIHdtbC9XTUxQcmV2RWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAg
KiB3bWwvV01MUmVmcmVzaEVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldN
TFJlZnJlc2hFbGVtZW50OjpXTUxSZWZyZXNoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpX
TUxSZWZyZXNoRWxlbWVudDo6fldNTFJlZnJlc2hFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OldNTFJlZnJlc2hFbGVtZW50OjpleGVjdXRlVGFzayk6CisgICAgICAgICogd21sL1dNTFJlZnJl
c2hFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHdtbC9XTUxTZXR2YXJFbGVtZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXTUxTZXR2YXJFbGVtZW50OjpXTUxTZXR2YXJFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldNTFNldHZhckVsZW1lbnQ6On5XTUxTZXR2YXJFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldNTFNldHZhckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldNTFNldHZhckVsZW1lbnQ6Omluc2VydGVkSW50
b0RvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldNTFNldHZhckVsZW1lbnQ6Om5hbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6V01MU2V0dmFyRWxlbWVudDo6dmFsdWUpOgorICAgICAgICAqIHdt
bC9XTUxTZXR2YXJFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHdtbC9XTUxUYWdOYW1lcy5p
bjoKKyAgICAgICAgKiB3bWwvV01MVGFza0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V01MVGFza0VsZW1lbnQ6OnJlbW92ZVZhcmlhYmxlU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OldNTFRhc2tFbGVtZW50OjpzdG9yZVZhcmlhYmxlU3RhdGUpOgorICAgICAgICAqIHdtbC9XTUxU
YXNrRWxlbWVudC5oOgorCiAyMDA4LTExLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuaWtvbGFz
LnppbW1lcm1hbm5AdG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gRm9y
Z290IHRvIGluY2x1ZGUgV01MUGFnZVN0YXRlLiogaW4gdGhlIGxhc3QgY29tbWl0LgpJbmRleDog
d21sL1dNTEdvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTEdvRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDApCisrKyB3bWwvV01MR29FbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw2MyBAQAorLyoqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAgaHR0cDovL3d3dy50b3JjaG1v
YmlsZS5jb20vCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV01MKQorI2lu
Y2x1ZGUgIldNTEdvRWxlbWVudC5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRl
ICJQYWdlLmgiCisjaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworV01MR29FbGVtZW50OjpXTUxHb0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFdNTFRhc2tFbGVtZW50KHRhZ05hbWUsIGRvYykK
K3sKK30KKworV01MR29FbGVtZW50Ojp+V01MR29FbGVtZW50KCkKK3sKK30KKwordm9pZCBXTUxH
b0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKK3sK
KyAgICBXTUxUYXNrRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Cit9CisKK3Zv
aWQgV01MR29FbGVtZW50OjpleGVjdXRlVGFzayhFdmVudCopCit7CisgICAgUGFnZSogcGFnZSA9
IGRvY3VtZW50KCktPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFdNTENhcmRFbGVtZW50KiBjYXJkID0gcGFnZS0+d21sUGFnZVN0YXRlKCktPmFjdGl2ZUNh
cmQoKTsKKyAgICBpZiAoIWNhcmQpCisgICAgICAgIHJldHVybjsKKworICAgIHN0b3JlVmFyaWFi
bGVTdGF0ZShwYWdlKTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IDxnbz4gZnVuY3Rpb25hbGl0
eS4KK30KKworfQorCisjZW5kaWYKSW5kZXg6IHdtbC9XTUxHb0VsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSB3bWwvV01MR29FbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyB3bWwvV01MR29FbGVtZW50
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qKgorICogQ29weXJpZ2h0IChDKSAy
MDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAg
ICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICoKKyAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBXTUxHb0VsZW1lbnRf
aAorI2RlZmluZSBXTUxHb0VsZW1lbnRfaAorCisjaWYgRU5BQkxFKFdNTCkKKyNpbmNsdWRlICJX
TUxUYXNrRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdNTEdvRWxl
bWVudCA6IHB1YmxpYyBXTUxUYXNrRWxlbWVudCB7CitwdWJsaWM6CisgICAgV01MR29FbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgdmlydHVhbCB+
V01MR29FbGVtZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUo
TWFwcGVkQXR0cmlidXRlKik7CisgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKEV2ZW50Kik7
Cit9OworCit9CisKKyNlbmRpZgorI2VuZGlmCkluZGV4OiB3bWwvV01MUHJldkVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIHdtbC9XTUxQcmV2RWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyB3
bWwvV01MUHJldkVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY1IEBACisvKioK
KyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogICAgICAgICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXTUwpCisjaW5jbHVkZSAiV01MUHJldkVs
ZW1lbnQuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2lu
Y2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dNTFByZXZF
bGVtZW50OjpXTUxQcmV2RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCogZG9jKQorICAgIDogV01MVGFza0VsZW1lbnQodGFnTmFtZSwgZG9jKQoreworfQorCitX
TUxQcmV2RWxlbWVudDo6fldNTFByZXZFbGVtZW50KCkKK3sKK30KKwordm9pZCBXTUxQcmV2RWxl
bWVudDo6ZXhlY3V0ZVRhc2soRXZlbnQqKQoreworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudCgp
LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBXTUxDYXJk
RWxlbWVudCogY2FyZCA9IHBhZ2UtPndtbFBhZ2VTdGF0ZSgpLT5hY3RpdmVDYXJkKCk7CisgICAg
aWYgKCFjYXJkKQorICAgICAgICByZXR1cm47CisKKyAgICBzdG9yZVZhcmlhYmxlU3RhdGUocGFn
ZSk7CisKKy8qIEZJWE1FCisgICAgLy8gU3RvcCB0aGUgdGltZXIgb2YgdGhlIGN1cnJlbnQgY2Fy
ZCBpZiBpdCBpcyBhY3RpdmUKKyAgICBpZiAoV01MVGltZXJFbGVtZW50KiB0aW1lciA9IGNhcmQt
PmV2ZW50VGltZXIoKSkKKyAgICAgICAgdGltZXItPnN0b3AoKTsKKyovCisKKyAgICBwYWdlLT5n
b0JhY2soKTsKK30KKworfQorCisjZW5kaWYKSW5kZXg6IHdtbC9XTUxQcmV2RWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHdtbC9XTUxQcmV2RWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgd21sL1dN
TFByZXZFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKy8qKgorICogQ29w
eXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBX
TUxQcmV2RWxlbWVudF9oCisjZGVmaW5lIFdNTFByZXZFbGVtZW50X2gKKworI2lmIEVOQUJMRShX
TUwpCisjaW5jbHVkZSAiV01MVGFza0VsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBXTUxQcmV2RWxlbWVudCA6IHB1YmxpYyBXTUxUYXNrRWxlbWVudCB7CitwdWJsaWM6
CisgICAgV01MUHJldkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqKTsKKyAgICB2aXJ0dWFsIH5XTUxQcmV2RWxlbWVudCgpOworCisgICAgdmlydHVhbCB2b2lk
IGV4ZWN1dGVUYXNrKEV2ZW50Kik7Cit9OworCit9CisKKyNlbmRpZgorI2VuZGlmCkluZGV4OiB3
bWwvV01MUmVmcmVzaEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxSZWZyZXNoRWxl
bWVudC5jcHAJKHJldmlzaW9uIDApCisrKyB3bWwvV01MUmVmcmVzaEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACisvKioKKyAqIENvcHlyaWdodCAoQykgMjAwOCBUb3Jj
aCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAgICAgICAgICAgICBodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShXTUwpCisjaW5jbHVkZSAiV01MUmVmcmVzaEVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiV01MUGFnZVN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV01MUmVmcmVzaEVs
ZW1lbnQ6OldNTFJlZnJlc2hFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2MpCisgICAgOiBXTUxUYXNrRWxlbWVudCh0YWdOYW1lLCBkb2MpCit7Cit9CisK
K1dNTFJlZnJlc2hFbGVtZW50Ojp+V01MUmVmcmVzaEVsZW1lbnQoKQoreworfQorCit2b2lkIFdN
TFJlZnJlc2hFbGVtZW50OjpleGVjdXRlVGFzayhFdmVudCopCit7CisgICAgUGFnZSogcGFnZSA9
IGRvY3VtZW50KCktPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFdNTENhcmRFbGVtZW50KiBjYXJkID0gcGFnZS0+d21sUGFnZVN0YXRlKCktPmFjdGl2ZUNh
cmQoKTsKKyAgICBpZiAoIWNhcmQpCisgICAgICAgIHJldHVybjsKKworLyogRklYTUUKKyAgICAv
LyBCZWZvcmUgcGVyZm9ybSByZWZyZXNoIHRhc2ssIHdlIHN0b3JlIHRoZSBjdXJyZW50IHRpbWVv
dXQKKyAgICAvLyB2YWx1ZSBpbiB0aGUgcGFnZSBzdGF0ZSBhbmQgdGhlbiBzdG9wIHRoZSB0aW1l
cgorICAgIGlmIChXTUxUaW1lckVsZW1lbnQqIHRpbWVyID0gY2FyZC0+ZXZlbnRUaW1lcigpKSB7
CisgICAgICAgIHRpbWVyLT5zdG9yZUludGVydmFsVG9QYWdlU3RhdGUoKTsKKyAgICAgICAgdGlt
ZXItPnN0b3AoKTsKKyAgICB9CisqLworCisgICAgc3RvcmVWYXJpYWJsZVN0YXRlKHBhZ2UpOwor
CisgICAgLy8gUmVkaXNwbGF5IGN1cnJlbXQgY2FyZCB3aXRoIGN1cnJlbnQgdmFyaWFibGUgc3Rh
dGUKKyAgICBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+cmVsb2FkKCk7CisKKy8qIEZJ
WE1FCisgICAgLy8gQWZ0ZXIgcmVmcmVzaGluZyB0YXNrLCByZXN1bWUgdGhlIHRpbWVyIGlmIGl0
IGV4c2l0cyAKKyAgICBpZiAodGltZXIpCisgICAgICAgIHRpbWVyLT5zdGFydCgpOworKi8KK30K
KworfQorCisjZW5kaWYKSW5kZXg6IHdtbC9XTUxSZWZyZXNoRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHdtbC9XTUxSZWZyZXNoRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgd21sL1dNTFJlZnJl
c2hFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKy8qKgorICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAg
ICAgICAgICAgICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBXTUxS
ZWZyZXNoRWxlbWVudF9oCisjZGVmaW5lIFdNTFJlZnJlc2hFbGVtZW50X2gKKworI2lmIEVOQUJM
RShXTUwpCisjaW5jbHVkZSAiV01MVGFza0VsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBXTUxSZWZyZXNoRWxlbWVudCA6IHB1YmxpYyBXTUxUYXNrRWxlbWVudCB7Citw
dWJsaWM6CisgICAgV01MUmVmcmVzaEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5XTUxSZWZyZXNoRWxlbWVudCgpOworCisgICAg
dmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKEV2ZW50Kik7Cit9OworCit9CisKKyNlbmRpZgorI2Vu
ZGlmCkluZGV4OiB3bWwvV01MU2V0dmFyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dN
TFNldHZhckVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgd21sL1dNTFNldHZhckVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwMyBAQAorLyoqCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAg
ICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTFNldHZhckVsZW1lbnQuaCIKKworI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgi
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRl
ICJOb2RlTGlzdC5oIgorI2luY2x1ZGUgIldNTE5hbWVzLmgiCisjaW5jbHVkZSAiV01MR29FbGVt
ZW50LmgiCisjaW5jbHVkZSAiV01MUHJldkVsZW1lbnQuaCIKKyNpbmNsdWRlICJXTUxSZWZyZXNo
RWxlbWVudC5oIgorI2luY2x1ZGUgIldNTFZhcmlhYmxlcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBXTUxOYW1lczsKKworV01MU2V0dmFyRWxlbWVudDo6V01M
U2V0dmFyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9j
KQorICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2MpCit7Cit9CisKK1dNTFNldHZhckVsZW1l
bnQ6On5XTUxTZXR2YXJFbGVtZW50KCkKK3sKK30KKwordm9pZCBXTUxTZXR2YXJFbGVtZW50Ojpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCit7CisgICAgaWYgKGF0
dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6Om5hbWVBdHRyKSB7CisgICAgICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgdmFsdWUgPSBhdHRyLT52YWx1ZSgpOworCisgICAgICAgIGJvb2wgaXNWYWxpZCA9
IGlzVmFsaWRWYXJpYWJsZU5hbWUodmFsdWUsIHRydWUpOworICAgICAgICBpZiAoaXNWYWxpZCkg
eworICAgICAgICAgICAgbV9uYW1lID0gc3Vic3RpdHV0ZVZhcmlhYmxlUmVmZXJlbmNlcyh2YWx1
ZSwgZG9jdW1lbnQoKSk7CisgICAgICAgICAgICBpc1ZhbGlkID0gaXNWYWxpZFZhcmlhYmxlTmFt
ZShtX25hbWUsIHRydWUpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFpc1ZhbGlkKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogRXJyb3IgcmVwb3J0aW5nCisgICAgICAgICAgICAvLyBXTUxI
ZWxwZXI6OnRva2VuaXplcigpLT5yZXBvcnRFcnJvcihJbnZhbGlkVmFyaWFibGVOYW1lRXJyb3Ip
OworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjp2
YWx1ZUF0dHIpCisgICAgICAgIG1fdmFsdWUgPSBzdWJzdGl0dXRlVmFyaWFibGVSZWZlcmVuY2Vz
KGF0dHItPnZhbHVlKCksIGRvY3VtZW50KCkpOworICAgIGVsc2UKKyAgICAgICAgV01MRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CisKK30KKwordm9pZCBXTUxTZXR2YXJFbGVt
ZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCit7CisgICAgV01MRWxlbWVudDo6aW5zZXJ0ZWRJ
bnRvRG9jdW1lbnQoKTsKKyAgICAKKyAgICBOb2RlKiBhbmNlc3RvciA9IHBhcmVudE5vZGUoKTsK
KyAgICBXTUxUYXNrRWxlbWVudCogdGFza0VsZW1lbnQgPSAwOworCisgICAgaWYgKGFuY2VzdG9y
LT5oYXNUYWdOYW1lKGdvVGFnKSkKKyAgICAgICAgdGFza0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxX
TUxHb0VsZW1lbnQqPihhbmNlc3Rvcik7CisgICAgZWxzZSBpZiAoYW5jZXN0b3ItPmhhc1RhZ05h
bWUocHJldlRhZykpCisgICAgICAgIHRhc2tFbGVtZW50ID0gc3RhdGljX2Nhc3Q8V01MUHJldkVs
ZW1lbnQqPihhbmNlc3Rvcik7CisgICAgZWxzZSBpZiAoYW5jZXN0b3ItPmhhc1RhZ05hbWUocmVm
cmVzaFRhZykpCisgICAgICAgIHRhc2tFbGVtZW50ID0gc3RhdGljX2Nhc3Q8V01MUmVmcmVzaEVs
ZW1lbnQqPihhbmNlc3Rvcik7CisKKyAgICBpZiAodGFza0VsZW1lbnQpCisgICAgICAgIHRhc2tF
bGVtZW50LT5hZGRWYXJpYWJsZVNldHRlcih0aGlzKTsKK30KKworU3RyaW5nIFdNTFNldHZhckVs
ZW1lbnQ6Om5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBtX25hbWU7Cit9CisKK1N0cmluZyBX
TUxTZXR2YXJFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdmFsdWU7Cit9
CisKK30KKworI2VuZGlmCkluZGV4OiB3bWwvV01MU2V0dmFyRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHdtbC9XTUxTZXR2YXJFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyB3bWwvV01MU2V0dmFy
RWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKioKKyAqIENvcHlyaWdo
dCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogICAg
ICAgICAgICAgICBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgV01MU2V0
dmFyRWxlbWVudF9oCisjZGVmaW5lIFdNTFNldHZhckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKFdN
TCkKKyNpbmNsdWRlICJXTUxFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgV01MU2V0dmFyRWxlbWVudCA6IHB1YmxpYyBXTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBX
TUxTZXR2YXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7
CisgICAgdmlydHVhbCB+V01MU2V0dmFyRWxlbWVudCgpOworCisgICAgdmlydHVhbCB2b2lkIHBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworICAgIHZpcnR1YWwgdm9pZCBp
bnNlcnRlZEluRklYTUVjdW1lbnQoKTsKKworICAgIFN0cmluZyBuYW1lKCkgY29uc3Q7CisgICAg
U3RyaW5nIHZhbHVlKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgU3RyaW5nIG1fbmFtZTsKKyAg
ICBTdHJpbmcgbV92YWx1ZTsKK307CisKK30KKworI2VuZGlmCisjZW5kaWYKSW5kZXg6IHdtbC9X
TUxUYWdOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3bWwvV01MVGFnTmFtZXMuaW4JKHJldmlzaW9u
IDM4NjkwKQorKysgd21sL1dNTFRhZ05hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYs
MTEgQEAgYQogYW5jaG9yCiBiciBpbnRlcmZhY2VOYW1lPVdNTEJSRWxlbWVudAogY2FyZAorZ28K
IHAKK3ByZXYKK3JlZnJlc2gKK3NldHZhcgogCiAjaWYgMAogIyBUaGVzZSBlbGVtZW50cyBkb24n
dCBuZWVkIGEgY29ycmVwb25zcG9uZGluZyBXTUwqRWxlbWVudCBjbGFzcy4KQEAgLTI0LDcgKzI4
LDYgQEAgdQogYWNjZXNzCiBkbwogZmllbGRzZXQKLWdvCiBoZWFkCiBpbWcgaW50ZXJmYWNlTmFt
ZT1XTUxJbWFnZUVsZW1lbnQKIGlucHV0CkBAIC0zNCwxMCArMzcsNyBAQCBvbmV2ZW50CiBvcHRn
cm91cAogb3B0aW9uCiBwb3N0ZmllbGQKLXByZXYKLXJlZnJlc2gKIHNlbGVjdAotc2V0dmFyCiB0
YWJsZQogdGQKIHRlbXBsYXRlCkluZGV4OiB3bWwvV01MVGFza0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIHdtbC9XTUxUYXNrRWxlbWVudC5jcHAJKHJldmlzaW9uIDM4NjkwKQorKysgd21sL1dN
TFRhc2tFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1
ZGUgIldNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRlICJXTUxOYW1lcy5oIgogI2luY2x1ZGUg
IldNTFBhZ2VTdGF0ZS5oIgorI2luY2x1ZGUgIldNTFNldHZhckVsZW1lbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC02OCw3ICs2OSw2IEBAIHZvaWQgV01MVGFza0VsZW1lbnQ6Omlu
c2VydGVkSW50b0RvY3VtZW4KICAgICB9CiB9CiAKLSNpZiAwCiB2b2lkIFdNTFRhc2tFbGVtZW50
OjphZGRWYXJpYWJsZVNldHRlcihXTUxTZXR2YXJFbGVtZW50KiBlbGVtZW50KQogewogICAgIEFT
U0VSVChlbGVtZW50KTsKQEAgLTgwLDEyICs4MCwxMSBAQCB2b2lkIFdNTFRhc2tFbGVtZW50Ojpy
ZW1vdmVWYXJpYWJsZVNldHRlCiAgICAgQVNTRVJUKGVsZW1lbnQpOwogICAgIG1fdmFyaWFibGVT
ZXR0ZXJFbGVtZW50cy5yZW1vdmUoZWxlbWVudCk7CiB9Ci0jZW5kaWYKIAogdm9pZCBXTUxUYXNr
RWxlbWVudDo6c3RvcmVWYXJpYWJsZVN0YXRlKFBhZ2UqIHBhZ2UpCiB7CiAgICAgQVNTRVJUKHBh
Z2UpOwotI2lmIDAKKwogICAgIGlmIChtX3ZhcmlhYmxlU2V0dGVyRWxlbWVudHMuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTEwOCw3ICsxMDcsNiBAQCB2b2lkIFdNTFRhc2tFbGVt
ZW50OjpzdG9yZVZhcmlhYmxlU3RhdGUoCiAgICAgQVNTRVJUKHBhZ2VTdGF0ZSk7CiAKICAgICBw
YWdlU3RhdGUtPnN0b3JlVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0jZW5kaWYKIH0KIAogfQpJbmRl
eDogd21sL1dNTFRhc2tFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTFRhc2tFbGVtZW50
LmgJKHJldmlzaW9uIDM4NjkwKQorKysgd21sL1dNTFRhc2tFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDE3ICs0MCwxNCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGluc2VydGVk
SW50b0RvY3VtZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKEV2ZW50KikgPSAw
OwogCi0jaWYgMAogICAgIHZvaWQgYWRkVmFyaWFibGVTZXR0ZXIoV01MU2V0dmFyRWxlbWVudCop
OwogICAgIHZvaWQgcmVtb3ZlVmFyaWFibGVTZXR0ZXIoV01MU2V0dmFyRWxlbWVudCopOwotI2Vu
ZGlmCiAKIHByb3RlY3RlZDoKICAgICB2b2lkIHN0b3JlVmFyaWFibGVTdGF0ZShQYWdlKik7Ci0j
aWYgMAorCiBwcml2YXRlOgogICAgIEhhc2hTZXQ8V01MU2V0dmFyRWxlbWVudCo+IG1fdmFyaWFi
bGVTZXR0ZXJFbGVtZW50czsKLSNlbmRpZgogfTsKIAogfQo=
</data>
<flag name="review"
          id="11760"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>