<?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>20497</bug_id>
          
          <creation_ts>2008-08-24 05:38:30 -0700</creation_ts>
          <short_desc>Cannot run accessibility layout tests on Windows</short_desc>
          <delta_ts>2012-04-09 14:27:33 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>89193</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2008-08-24 05:38:30 -0700</bug_when>
    <thetext>AccessibilityController is not yet implemented on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89194</commentid>
    <comment_count>1</comment_count>
      <attachid>22962</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2008-08-24 05:43:11 -0700</bug_when>
    <thetext>Created attachment 22962
Initial pass

Initial pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89195</commentid>
    <comment_count>2</comment_count>
      <attachid>22963</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2008-08-24 05:46:31 -0700</bug_when>
    <thetext>Created attachment 22963
Make AccessibilityController::focusedElement work

Calling get_accFocus on the root accessible object won&apos;t return the focused object, because AccessibleBase::get_accFocus erroneously checks whether the focused object is a child of the object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89196</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2008-08-24 05:59:24 -0700</bug_when>
    <thetext>Committed in r35903, r35904.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90087</commentid>
    <comment_count>4</comment_count>
      <attachid>22962</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-09-03 16:56:38 -0700</bug_when>
    <thetext>Comment on attachment 22962
Initial pass

Clearing due to this having been landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90088</commentid>
    <comment_count>5</comment_count>
      <attachid>22963</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-09-03 16:56:50 -0700</bug_when>
    <thetext>Comment on attachment 22963
Make AccessibilityController::focusedElement work

Clearing as this has been landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598612</commentid>
    <comment_count>6</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2012-04-09 14:27:33 -0700</bug_when>
    <thetext>These tests have run on Windows for some time.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22962</attachid>
            <date>2008-08-24 05:43:11 -0700</date>
            <delta_ts>2010-06-10 15:58:08 -0700</delta_ts>
            <desc>Initial pass</desc>
            <filename>windows.AccessibilityController.patch</filename>
            <type>text/plain</type>
            <size>22887</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM1OTAy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjkgQEAKKzIwMDgtMDgt
MjQgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KKworICAgICAgICBJbml0
aWFsIHN1cHBvcnQgZm9yIGFjY2Vzc2liaWxpdHkgbGF5b3V0IHRlc3RzIG9uIFdpbmRvd3MuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ5NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaDogRml4IHR5cG9zLgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOiBDaGFuZ2UgI2ltcG9ydCB0
byAjaW5jbHVkZS4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Lmg6IERlZmluZSBfV0lOU09DS0FQSV8gdG8KKyAgICAgICAgcHJldmVudCBvbGVhY2MuaCwg
d2hpY2ggaW5jbHVkZXMgd2luZG93cy5oLCBmcm9tIGluY2x1ZGluZyB3aW5zb2NrLmguCisgICAg
ICAgIEZpeGVkIHR5cG9zLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlcldpbi5jcHA6IEFkZGVkLgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjp+QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmZvY3VzZWRFbGVtZW50KTogR2V0IHRoZSByb290IGVsZW1lbnQsIGFu
ZAorICAgICAgICByZXF1ZXN0IGl0cyBmb2N1c2VkIG9iamVjdC4KKyAgICAgICAgKEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCk6IFF1ZXJ5IFdpbmRvd3MgZm9yIHRoZSAKKyAg
ICAgICAgYWNjZXNzaWJsZSBjbGllbnQgb2JqZWN0IGZvciB0aGUgV2ViVmlldydzIHdpbmRvdy4K
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5j
cHA6IEFkZGVkLgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp+QWNjZXNzaWJp
bGl0eVVJRWxlbWVudCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRMaW5r
ZWRVSUVsZW1lbnRzKTogTm90IGltcGxlbWVudGVkLgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6Z2V0Q2hpbGRyZW4pOiBHZXQgdGhlIGNoaWxkIGNvdW50LCBhbmQgYXBwZW5kCisg
ICAgICAgIGVhY2ggY2hpbGQuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRD
aGlsZEF0SW5kZXgpOiBHZXQgdGhlIGNoaWxkIGF0IHRoZSBnaXZlbgorICAgICAgICBpbmRleCBv
ZmZzZXQgYnkgMS4gSW4gTVNBQSwgY2hpbGQgMCBpcyB0aGUgb2JqZWN0IGl0c2VsZi4KKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMpOiBOb3QgaW1wbGVtZW50
ZWQuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZMaW5rZWRV
SUVsZW1lbnRzKTogU2FtZS4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJp
YnV0ZXNPZkNoaWxkcmVuKTogU2FtZS4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnBhcmFtZXRlcml6ZWRBdHRyaWJ1dGVOYW1lcyk6IFNhbWUuCisgICAgICAgIChzZWxmKTogUmV0
dXJuIGEgVkFSSUFOVCByZXByZXNlbnRpbmcgdGhlICJzZWxmIiBvYmplY3QuIFRoaXMgaXMgdXNl
ZAorICAgICAgICB3aGVuIGNhbGxpbmcgbWV0aG9kcyB0aGF0IHJlcXVpcmUgYSBjaGlsZCB2YXJp
YW50LgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZSk6IEdldCB0aGUgTVNB
QSByb2xlLCBhIGxvbmcgdmFsdWUsIGFuZAorICAgICAgICBjb252ZXJ0IGl0IGludG8gYSBzdHJp
bmcgd2l0aCBHZXRSb2xlVGV4dCgpLgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGl0bGUpOiBHZXQgdGhlIGVsZW1lbnQncyB0aXRsZSwgYW5kIGNvbnZlcnQKKyAgICAgICAgaXQg
dG8gYSBKUyBTdHJpbmcuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlw
dGlvbik6IFNhbWUsIGZvciBkZXNjcmlwdGlvbi4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OndpZHRoKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlaWdodCk6
CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSk6IEdldCB0aGUgb2Jq
ZWN0J3MgdmFsdWUgYXMgYSBzdHJpbmcsCisgICAgICAgIGFuZCBjb252ZXJ0IHRoZSBzdHJpbmcg
dG8gYSBkb3VibGUuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6
IE5vdCBpbXBsZW1lbnRlZC4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZh
bHVlKTogU2FtZS4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlvblBv
aW50TGluZU51bWJlcik6IFNhbWUuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVzT2ZDb2x1bW5IZWFkZXJzKTogU2FtZS4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd0hlYWRlcnMpOiBTYW1lLgorICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucyk6IFNhbWUuCisgICAgICAgIChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dzKTogU2FtZS4KKyAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlZpc2libGVDZWxscyk6IFNhbWUu
CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIpOiBT
YW1lLgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKTogU2Ft
ZS4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0luZGV4UmFuZ2UpOiBTYW1l
LgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uSW5kZXhSYW5nZSk6IFNh
bWUuCisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lRm9ySW5kZXgpOiBTYW1l
LgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym91bmRzRm9yUmFuZ2UpOiBTYW1l
LgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyk6
IFNhbWUuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJv
ajogQWRkIGFjY2Vzc2liaWxpdHkgZmlsZXMgdG8KKyAgICAgICAgcHJvamVjdC4gIExpbmsgdG8g
b2xlYWNjLmxpYiwgdGhlIE1TQUEgbGlicmFyeS4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93
aW4vRnJhbWVMb2FkRGVsZWdhdGUuY3BwOgorICAgICAgICAoRnJhbWVMb2FkRGVsZWdhdGU6OkZy
YW1lTG9hZERlbGVnYXRlKTogSW5pdGlhbGl6ZSB0aGUgYWNjZXNzaWJpbGl0eQorICAgICAgICBj
b250cm9sbGVyLgorICAgICAgICAoRnJhbWVMb2FkRGVsZWdhdGU6OmRpZENsZWFyV2luZG93T2Jq
ZWN0KTogQ3JlYXRlIGEgbmV3IHdpbmRvdyBvYmplY3QKKyAgICAgICAgZm9yIHRoZSBhY2Nlc3Np
YmlsaXR5IGNvbnRyb2xsZXIuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9h
ZERlbGVnYXRlLmg6CisKIDIwMDgtMDgtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlCkluZGV4OiBEdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIER1bXBSZW5k
ZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgJKHJldmlzaW9uIDM1ODcwKQorKysgRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzcsNyArMzcsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1ha2VXaW5kb3dPYmplY3QoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHdpbmRvd09iamVjdCwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKTsKIAotICAgIC8vIENvbnRyb2xsZXIgTWV0aG9kcyAtIHBsYXRmcm9tIGluZGVwZW5k
YW50IGltcGxlbWVudGF0aW9ucworICAgIC8vIENvbnRyb2xsZXIgTWV0aG9kcyAtIHBsYXRmb3Jt
LWluZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQg
cm9vdEVsZW1lbnQoKTsKICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGZvY3VzZWRFbGVtZW50
KCk7CiAKSW5kZXg6IER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAzNTg3MCkKKysrIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmgiCiAKLSNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTUmV0YWluUHRy
Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSZXRhaW5QdHIuaD4KIAogLy8gU3RhdGlj
IEZ1bmN0aW9ucwogCkluZGV4OiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
CShyZXZpc2lvbiAzNTg3MCkKKysrIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsMTQgQEAgdHlwZWRlZiBpZCBQbGF0Zm9y
bVVJRWxlbWVudDsKICNlbHNlCiB0eXBlZGVmIHN0cnVjdCBvYmpjX29iamVjdCogUGxhdGZvcm1V
SUVsZW1lbnQ7CiAjZW5kaWYKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyN1bmRlZiBfV0lOU09DS0FQ
SV8KKyNkZWZpbmUgX1dJTlNPQ0tBUElfIC8vIFByZXZlbnQgaW5jbHVzaW9uIG9mIHdpbnNvY2su
aCBpbiB3aW5kb3dzLmgKKworI2luY2x1ZGUgPG9sZWFjYy5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Q09NUHRyLmg+CisKK3R5cGVkZWYgQ09NUHRyPElBY2Nlc3NpYmxlPiBQbGF0Zm9ybVVJRWxlbWVu
dDsKICNlbHNlCiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVUlFbGVtZW50OwogI2VuZGlmCkBAIC01
NCwxMyArNjIsMTMgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0Q2hpbGRyZW4oVmVjdG9yPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+Jik7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBnZXRDaGls
ZEF0SW5kZXgodW5zaWduZWQpOwogICAgIAotICAgIC8vIE1ldGhvZHMgLSBwbGF0ZnJvbSBpbmRl
cGVuZGFudCBpbXBsZW1lbnRhdGlvbnMKKyAgICAvLyBNZXRob2RzIC0gcGxhdGZvcm0taW5kZXBl
bmRlbnQgaW1wbGVtZW50YXRpb25zCiAgICAgSlNTdHJpbmdSZWYgYWxsQXR0cmlidXRlcygpOwog
ICAgIEpTU3RyaW5nUmVmIGF0dHJpYnV0ZXNPZkxpbmtlZFVJRWxlbWVudHMoKTsKICAgICBKU1N0
cmluZ1JlZiBhdHRyaWJ1dGVzT2ZDaGlsZHJlbigpOwogICAgIEpTU3RyaW5nUmVmIHBhcmFtZXRl
cml6ZWRBdHRyaWJ1dGVOYW1lcygpOwogICAgIAotICAgIC8vIEF0dHJpYnV0ZXMgLSBwbGF0ZnJv
bSBpbmRlcGVuZGFudCBpbXBsZW1lbnRhdGlvbnMKKyAgICAvLyBBdHRyaWJ1dGVzIC0gcGxhdGZv
cm0taW5kZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zCiAgICAgSlNTdHJpbmdSZWYgcm9sZSgpOwog
ICAgIEpTU3RyaW5nUmVmIHRpdGxlKCk7CiAgICAgSlNTdHJpbmdSZWYgZGVzY3JpcHRpb24oKTsK
QEAgLTcxLDcgKzc5LDcgQEAgcHVibGljOgogICAgIGRvdWJsZSBtYXhWYWx1ZSgpOwogICAgIGlu
dCBpbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKTsKICAgICAKLSAgICAvLyB0YWJsZSBzcGVjaWZp
YyBhdHRyaWJ1dGVzCisgICAgLy8gVGFibGUtc3BlY2lmaWMgYXR0cmlidXRlcwogICAgIEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMoKTsKICAgICBKU1N0cmluZ1JlZiBhdHRy
aWJ1dGVzT2ZSb3dIZWFkZXJzKCk7CiAgICAgSlNTdHJpbmdSZWYgYXR0cmlidXRlc09mQ29sdW1u
cygpOwpAQCAtODIsMTEgKzkwLDExIEBAIHB1YmxpYzoKICAgICBKU1N0cmluZ1JlZiByb3dJbmRl
eFJhbmdlKCk7CiAgICAgSlNTdHJpbmdSZWYgY29sdW1uSW5kZXhSYW5nZSgpOwogICAgIAotICAg
IC8vIHBhcmFtZXRlcml6ZWQgYXR0cmlidXRlcworICAgIC8vIFBhcmFtZXRlcml6ZWQgYXR0cmli
dXRlcwogICAgIGludCBsaW5lRm9ySW5kZXgoaW50KTsKICAgICBKU1N0cmluZ1JlZiBib3VuZHNG
b3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICAKLSAgICAv
LyB0YWJsZSBzcGVjaWZpYworICAgIC8vIFRhYmxlLXNwZWNpZmljCiAgICAgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCBjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVkIGNvbHVtbiwgdW5zaWduZWQg
cm93KTsKICAgICAKIHByaXZhdGU6CkluZGV4OiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIER1bXBSZW5kZXJUcmVlL3dpbi9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAJKHJldmlzaW9uIDApCisrKyBEdW1wUmVuZGVy
VHJlZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaCIKKyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NPTVB0
ci5oPgorI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KKyNpbmNsdWRlIDxvbGVhY2MuaD4KKwor
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCkKK3sKK30K
KworQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6On5BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpCit7
Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmZv
Y3VzZWRFbGVtZW50KCkKK3sKKyAgICBDT01QdHI8SUFjY2Vzc2libGU+IHJvb3RBY2Nlc3NpYmxl
ID0gcm9vdEVsZW1lbnQoKS5wbGF0Zm9ybVVJRWxlbWVudCgpOworCisgICAgVkFSSUFOVCB2Rm9j
dXM7CisgICAgaWYgKEZBSUxFRChyb290QWNjZXNzaWJsZS0+Z2V0X2FjY0ZvY3VzKCZ2Rm9jdXMp
KSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoVl9WVCgmdkZvY3VzKSA9PSBWVF9JNCkg
eworICAgICAgICBBU1NFUlQoVl9JNCgmdkZvY3VzKSA9PSBDSElMRElEX1NFTEYpOworICAgICAg
ICAvLyBUaGUgcm9vdCBhY2Nlc3NpYmxlIG9iamVjdCBpcyB0aGUgZm9jdXNlZCBvYmplY3QuCisg
ICAgICAgIHJldHVybiByb290QWNjZXNzaWJsZTsKKyAgICB9CisKKyAgICBBU1NFUlQoVl9WVCgm
dkZvY3VzKSA9PSBWVF9ESVNQQVRDSCk7CisgICAgLy8gV2UgaGF2ZSBhbiBJRGlzcGF0Y2g7IHF1
ZXJ5IGZvciBJQWNjZXNzaWJsZS4KKyAgICByZXR1cm4gQ09NUHRyPElBY2Nlc3NpYmxlPihRdWVy
eSwgVl9ESVNQQVRDSCgmdkZvY3VzKSk7Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkKK3sKKyAgICBDT01QdHI8SVdlYlZp
ZXc+IHZpZXc7CisgICAgaWYgKEZBSUxFRChmcmFtZS0+d2ViVmlldygmdmlldykpKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIENPTVB0cjxJV2ViVmlld1ByaXZhdGU+IHZpZXdQcml2YXRlKFF1
ZXJ5LCB2aWV3KTsKKyAgICBpZiAoIXZpZXdQcml2YXRlKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIEhXTkQgd2ViVmlld1dpbmRvdzsKKyAgICBpZiAoRkFJTEVEKHZpZXdQcml2YXRlLT52aWV3
V2luZG93KChPTEVfSEFORExFKikmd2ViVmlld1dpbmRvdykpKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIC8vIEdldCB0aGUgcm9vdCBhY2Nlc3NpYmxlIG9iamVjdCBieSBxdWVyeWluZyBmb3Ig
dGhlIGFjY2Vzc2libGUgb2JqZWN0IGZvciB0aGUKKyAgICAvLyBXZWJWaWV3J3Mgd2luZG93Lgor
ICAgIENPTVB0cjxJQWNjZXNzaWJsZT4gcm9vdEFjY2Vzc2libGU7CisgICAgaWYgKEZBSUxFRChB
Y2Nlc3NpYmxlT2JqZWN0RnJvbVdpbmRvdyh3ZWJWaWV3V2luZG93LCBzdGF0aWNfY2FzdDxEV09S
RD4oT0JKSURfQ0xJRU5UKSwgX191dWlkb2YoSUFjY2Vzc2libGUpLCByZWludGVycHJldF9jYXN0
PHZvaWQqKj4oJnJvb3RBY2Nlc3NpYmxlKSkpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJl
dHVybiByb290QWNjZXNzaWJsZTsKK30KClByb3BlcnR5IGNoYW5nZXMgb246IER1bXBSZW5kZXJU
cmVlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBz
dm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHVtcFJlbmRlclRyZWUvd2luL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCShyZXZpc2lvbiAwKQorKysgRHVtcFJlbmRlclRy
ZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDIzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTU3RyaW5nUmVmLmg+CisjaW5jbHVkZSA8dGNoYXIuaD4KKyNpbmNsdWRlIDxzdHJp
bmc+CisKK3VzaW5nIHN0ZDo6d3N0cmluZzsKKworQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxlbWVudCBlbGVtZW50KQorICAgIDogbV9l
bGVtZW50KGVsZW1lbnQpCit7Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQoY29uc3QgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCYgb3RoZXIpCisgICAg
OiBtX2VsZW1lbnQob3RoZXIubV9lbGVtZW50KQoreworfQorCitBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp+QWNjZXNzaWJpbGl0eVVJRWxlbWVudCgpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Z2V0TGlua2VkVUlFbGVtZW50cyhWZWN0b3I8QWNjZXNzaWJpbGl0eVVJRWxl
bWVudD4mKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVu
KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiYgY2hpbGRyZW4pCit7CisgICAgbG9uZyBj
aGlsZENvdW50OworICAgIGlmIChGQUlMRUQobV9lbGVtZW50LT5nZXRfYWNjQ2hpbGRDb3VudCgm
Y2hpbGRDb3VudCkpKQorICAgICAgICByZXR1cm47CisgICAgZm9yIChsb25nIGkgPSAwOyBpIDwg
Y2hpbGRDb3VudDsgKytpKQorICAgICAgICBjaGlsZHJlbi5hcHBlbmQoZ2V0Q2hpbGRBdEluZGV4
KGkpKTsKK30KKworQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpnZXRDaGlsZEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgQ09NUHRyPElEaXNwYXRj
aD4gY2hpbGQ7CisgICAgVkFSSUFOVCB2Q2hpbGQ7CisgICAgOjpWYXJpYW50SW5pdCgmdkNoaWxk
KTsKKyAgICBWX1ZUKCZ2Q2hpbGQpID0gVlRfSTQ7CisgICAgLy8gSW4gTVNBQSwgaW5kZXggMCBp
cyB0aGUgb2JqZWN0IGl0c2VsZi4KKyAgICBWX0k0KCZ2Q2hpbGQpID0gaW5kZXggKyAxOworICAg
IGlmIChGQUlMRUQobV9lbGVtZW50LT5nZXRfYWNjQ2hpbGQodkNoaWxkLCAmY2hpbGQpKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIENPTVB0cjxJQWNjZXNzaWJsZT4oUXVlcnksIGNo
aWxkKTsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWxsQXR0cmli
dXRlcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7
Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkxp
bmtlZFVJRWxlbWVudHMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRy
aWJ1dGVzT2ZDaGlsZHJlbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBh
cmFtZXRlcml6ZWRBdHRyaWJ1dGVOYW1lcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK3N0YXRpYyBWQVJJQU5UJiBzZWxmKCkKK3sKKyAg
ICBzdGF0aWMgVkFSSUFOVCB2U2VsZjsKKyAgICBzdGF0aWMgYm9vbCBoYXZlSW5pdGlhbGl6ZWQ7
CisKKyAgICBpZiAoIWhhdmVJbml0aWFsaXplZCkgeworICAgICAgICA6OlZhcmlhbnRJbml0KCZ2
U2VsZik7CisgICAgICAgIFZfVlQoJnZTZWxmKSA9IFZUX0k0OworICAgICAgICBWX0k0KCZ2U2Vs
ZikgPSBDSElMRElEX1NFTEY7CisgICAgfQorICAgIHJldHVybiB2U2VsZjsKK30KKworSlNTdHJp
bmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZSgpCit7CisgICAgVkFSSUFOVCB2Um9s
ZTsKKyAgICBpZiAoRkFJTEVEKG1fZWxlbWVudC0+Z2V0X2FjY1JvbGUoc2VsZigpLCAmdlJvbGUp
KSkKKyAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cisg
ICAgQVNTRVJUKFZfVlQoJnZSb2xlKSA9PSBWVF9JNCk7CisgICAgVENIQVIgcm9sZVRleHRbNjRd
ID0gezB9OworICAgIDo6R2V0Um9sZVRleHQoVl9JNCgmdlJvbGUpLCByb2xlVGV4dCwgQVJSQVlT
SVpFKHJvbGVUZXh0KSk7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
cm9sZVRleHQsIF90Y3NsZW4ocm9sZVRleHQpKTsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dGl0bGUoKQoreworICAgIEJTVFIgdGl0bGVCU1RSOworICAgIGlmIChG
QUlMRUQobV9lbGVtZW50LT5nZXRfYWNjTmFtZShzZWxmKCksICZ0aXRsZUJTVFIpKSB8fCAhdGl0
bGVCU1RSKQorICAgICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKKyAgICB3c3RyaW5nIHRpdGxlKHRpdGxlQlNUUiwgU3lzU3RyaW5nTGVuKHRpdGxlQlNUUikp
OworICAgIDo6U3lzRnJlZVN0cmluZyh0aXRsZUJTVFIpOworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKHRpdGxlLmRhdGEoKSwgdGl0bGUubGVuZ3RoKCkpOworfQorCitK
U1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCit7CisgICAg
QlNUUiBkZXNjcmlwdGlvbkJTVFI7CisgICAgaWYgKEZBSUxFRChtX2VsZW1lbnQtPmdldF9hY2NO
YW1lKHNlbGYoKSwgJmRlc2NyaXB0aW9uQlNUUikpIHx8ICFkZXNjcmlwdGlvbkJTVFIpCisgICAg
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworICAgIHdzdHJp
bmcgZGVzY3JpcHRpb24oZGVzY3JpcHRpb25CU1RSLCBTeXNTdHJpbmdMZW4oZGVzY3JpcHRpb25C
U1RSKSk7CisgICAgOjpTeXNGcmVlU3RyaW5nKGRlc2NyaXB0aW9uQlNUUik7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoZGVzY3JpcHRpb24uZGF0YSgpLCBkZXNjcmlw
dGlvbi5sZW5ndGgoKSk7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3aWR0
aCgpCit7CisgICAgbG9uZyB4LCB5LCB3aWR0aCwgaGVpZ2h0OworICAgIGlmIChGQUlMRUQobV9l
bGVtZW50LT5hY2NMb2NhdGlvbigmeCwgJnksICZ3aWR0aCwgJmhlaWdodCwgc2VsZigpKSkpCisg
ICAgICAgIHJldHVybiAwOworICAgIHJldHVybiB3aWR0aDsKK30KKworZG91YmxlIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmhlaWdodCgpCit7CisgICAgbG9uZyB4LCB5LCB3aWR0aCwgaGVpZ2h0
OworICAgIGlmIChGQUlMRUQobV9lbGVtZW50LT5hY2NMb2NhdGlvbigmeCwgJnksICZ3aWR0aCwg
JmhlaWdodCwgc2VsZigpKSkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBoZWlnaHQ7
Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSgpCit7CisgICAg
QlNUUiB2YWx1ZUJTVFI7CisgICAgaWYgKEZBSUxFRChtX2VsZW1lbnQtPmdldF9hY2NWYWx1ZShz
ZWxmKCksICZ2YWx1ZUJTVFIpKSB8fCAhdmFsdWVCU1RSKQorICAgICAgICByZXR1cm4gMDsKKyAg
ICB3c3RyaW5nIHZhbHVlKHZhbHVlQlNUUiwgU3lzU3RyaW5nTGVuKHZhbHVlQlNUUikpOworICAg
IDo6U3lzRnJlZVN0cmluZyh2YWx1ZUJTVFIpOworICAgIFRDSEFSKiBpZ25vcmVkOworICAgIHJl
dHVybiBfdGNzdG9kKHZhbHVlLmRhdGEoKSwgJmlnbm9yZWQpOworfQorCitkb3VibGUgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUoKQoreworICAgIHJldHVybiAwOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUoKQoreworICAgIHJldHVybiAwOwor
fQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVy
KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6YXR0cmlidXRlc09mQ29sdW1uSGVhZGVycygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd0hlYWRlcnMoKQoreworICAgIHJldHVybiBKU1N0
cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1N0cmluZ1JlZiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5zKCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93cygpCit7CisgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlZpc2libGVDZWxscygpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTU3RyaW5nUmVmIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkhlYWRlcigpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbmRleEluVGFibGUoKQoreworICAgIHJldHVybiAwOworfQorCitKU1N0
cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dJbmRleFJhbmdlKCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNTdHJpbmdS
ZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uSW5kZXhSYW5nZSgpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpsaW5lRm9ySW5kZXgoaW50KQoreworICAgIHJldHVybiAwOworfQor
CitKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib3VuZHNGb3JSYW5nZSh1bnNp
Z25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3codW5zaWduZWQgY29sdW1u
LCB1bnNpZ25lZCByb3cpCit7CisgICAgcmV0dXJuIDA7Cit9CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpOYW1lOiBzdm46ZXhlY3V0YWJsZQogICArICoKCkluZGV4OiBEdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIER1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS52Y3Byb2oJKHJldmlzaW9uIDM1ODcwKQorKysgRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQs
NyBAQAogCQkJLz4KIAkJCTxUb29sCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIgotCQkJCUFkZGl0
aW9uYWxEZXBlbmRlbmNpZXM9IldlYktpdEdVSUQkKFdlYktpdENvbmZpZ1N1ZmZpeCkubGliIFdl
YktpdCQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgV1RGJChXZWJLaXRDb25maWdTdWZmaXgp
LmxpYiBDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBDb3JlRm91bmRhdGlv
biQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIENGTmV0d29yayQoTGlicmFyeUNvbmZpZ1N1ZmZp
eCkubGliIHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBnZGkzMi5saWIgb2xl
MzIubGliIG9sZWF1dDMyLmxpYiB1c2VyMzIubGliIHNobHdhcGkubGliIgorCQkJCUFkZGl0aW9u
YWxEZXBlbmRlbmNpZXM9IldlYktpdEdVSUQkKFdlYktpdENvbmZpZ1N1ZmZpeCkubGliIFdlYktp
dCQoV2ViS2l0RExMQ29uZmlnU3VmZml4KS5saWIgV1RGJChXZWJLaXRDb25maWdTdWZmaXgpLmxp
YiBDb3JlR3JhcGhpY3MkKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBDb3JlRm91bmRhdGlvbiQo
TGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIENGTmV0d29yayQoTGlicmFyeUNvbmZpZ1N1ZmZpeCku
bGliIHB0aHJlYWRWQzIkKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBnZGkzMi5saWIgb2xlMzIu
bGliIG9sZWF1dDMyLmxpYiB1c2VyMzIubGliIHNobHdhcGkubGliIG9sZWFjYy5saWIiCiAJCQkJ
QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iIgogCQkJCURlbGF5TG9hZERMTHM9IiIKIAkJ
CQlTdWJTeXN0ZW09IjEiCkBAIC0xMjgsNyArMTI4LDcgQEAKIAkJCS8+CiAJCQk8VG9vbAogCQkJ
CU5hbWU9IlZDTGlua2VyVG9vbCIKLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJXZWJLaXRH
VUlEJChXZWJLaXRDb25maWdTdWZmaXgpLmxpYiBXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZp
eCkubGliIFdURiQoV2ViS2l0Q29uZmlnU3VmZml4KS5saWIgQ29yZUdyYXBoaWNzJChMaWJyYXJ5
Q29uZmlnU3VmZml4KS5saWIgQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLmxp
YiBDRk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBwdGhyZWFkVkMyJChMaWJyYXJ5
Q29uZmlnU3VmZml4KS5saWIgZ2RpMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXNlcjMy
LmxpYiBzaGx3YXBpLmxpYiIKKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJXZWJLaXRHVUlE
JChXZWJLaXRDb25maWdTdWZmaXgpLmxpYiBXZWJLaXQkKFdlYktpdERMTENvbmZpZ1N1ZmZpeCku
bGliIFdURiQoV2ViS2l0Q29uZmlnU3VmZml4KS5saWIgQ29yZUdyYXBoaWNzJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5saWIgQ29yZUZvdW5kYXRpb24kKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBD
Rk5ldHdvcmskKExpYnJhcnlDb25maWdTdWZmaXgpLmxpYiBwdGhyZWFkVkMyJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5saWIgZ2RpMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXNlcjMyLmxp
YiBzaGx3YXBpLmxpYiBvbGVhY2MubGliIgogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3Jp
ZXM9IiIKIAkJCQlEZWxheUxvYWRETExzPSIiCiAJCQkJU3ViU3lzdGVtPSIxIgpAQCAtMjAxLDcg
KzIwMSw3IEBACiAJCQkvPgogCQkJPFRvb2wKIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiCi0JCQkJ
QWRkaXRpb25hbERlcGVuZGVuY2llcz0iV2ViS2l0R1VJRCQoV2ViS2l0Q29uZmlnU3VmZml4KS5s
aWIgV2ViS2l0JChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBXVEYkKFdlYktpdENvbmZpZ1N1
ZmZpeCkubGliIENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIENvcmVGb3Vu
ZGF0aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5saWIgQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmln
U3VmZml4KS5saWIgcHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIGdkaTMyLmxp
YiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHVzZXIzMi5saWIgc2hsd2FwaS5saWIiCisJCQkJQWRk
aXRpb25hbERlcGVuZGVuY2llcz0iV2ViS2l0R1VJRCQoV2ViS2l0Q29uZmlnU3VmZml4KS5saWIg
V2ViS2l0JChXZWJLaXRETExDb25maWdTdWZmaXgpLmxpYiBXVEYkKFdlYktpdENvbmZpZ1N1ZmZp
eCkubGliIENvcmVHcmFwaGljcyQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIENvcmVGb3VuZGF0
aW9uJChMaWJyYXJ5Q29uZmlnU3VmZml4KS5saWIgQ0ZOZXR3b3JrJChMaWJyYXJ5Q29uZmlnU3Vm
Zml4KS5saWIgcHRocmVhZFZDMiQoTGlicmFyeUNvbmZpZ1N1ZmZpeCkubGliIGdkaTMyLmxpYiBv
bGUzMi5saWIgb2xlYXV0MzIubGliIHVzZXIzMi5saWIgc2hsd2FwaS5saWIgb2xlYWNjLmxpYiIK
IAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIiCiAJCQkJRGVsYXlMb2FkRExMcz0i
IgogCQkJCVN1YlN5c3RlbT0iMSIKQEAgLTI0Miw2ICsyNDIsMTggQEAKIAkJCU5hbWU9IkNvbnRy
b2xsZXJzIgogCQkJPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLlxBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldp
bi5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii5c
RXZlbnRTZW5kZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTMxOSw2ICszMzEsMTggQEAK
IAkJCTwvRmlsZT4KIAkJPC9GaWx0ZXI+CiAJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKKwkJCT4KKwkJPC9GaWxl
PgorCQk8RmlsZQorCQkJUmVsYXRpdmVQYXRoPSIuXEFjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4u
Y3BwIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCiAJCQlSZWxhdGl2ZVBhdGg9Ii5cRHJhZ2dp
bmdJbmZvLmgiCiAJCQk+CiAJCTwvRmlsZT4KSW5kZXg6IER1bXBSZW5kZXJUcmVlL3dpbi9GcmFt
ZUxvYWREZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1l
TG9hZERlbGVnYXRlLmNwcAkocmV2aXNpb24gMzU4NzApCisrKyBEdW1wUmVuZGVyVHJlZS93aW4v
RnJhbWVMb2FkRGVsZWdhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiRHVtcFJlbmRlclRyZWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWREZWxlZ2F0ZS5o
IgogCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJFdmVu
dFNlbmRlci5oIgogI2luY2x1ZGUgIkdDQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkxheW91dFRl
c3RDb250cm9sbGVyLmgiCkBAIC04Miw2ICs4Myw3IEBAIHN0cmluZyBkZXNjcmlwdGlvblN1aXRh
YmxlRm9yVGVzdFJlc3VsdCgKIEZyYW1lTG9hZERlbGVnYXRlOjpGcmFtZUxvYWREZWxlZ2F0ZSgp
CiAgICAgOiBtX3JlZkNvdW50KDEpCiAgICAgLCBtX2djQ29udHJvbGxlcihuZXcgR0NDb250cm9s
bGVyKQorICAgICwgbV9hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcihuZXcgQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpCiB7CiB9CiAKQEAgLTI2Myw2ICsyNjUsOSBAQCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIEZyYW1lTG9hZERlbGVnCiAgICAgbV9nY0NvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmpl
Y3QoY29udGV4dCwgd2luZG93T2JqZWN0LCAmZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4Y2Vw
dGlvbik7CiAKKyAgICBtX2FjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0
KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCFleGNlcHRp
b24pOworCiAgICAgSlNTdHJpbmdSZWYgZXZlbnRTZW5kZXJTdHIgPSBKU1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiZXZlbnRTZW5kZXIiKTsKICAgICBKU1ZhbHVlUmVmIGV2ZW50U2VuZGVy
ID0gbWFrZUV2ZW50U2VuZGVyKGNvbnRleHQpOwogICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29u
dGV4dCwgd2luZG93T2JqZWN0LCBldmVudFNlbmRlclN0ciwgZXZlbnRTZW5kZXIsIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUsIDAp
OwpJbmRleDogRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVnYXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVnYXRlLmgJKHJldmlzaW9uIDM1
ODcwKQorKysgRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVnYXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogCitjbGFzcyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjsKIGNs
YXNzIEdDQ29udHJvbGxlcjsKIAogY2xhc3MgRnJhbWVMb2FkRGVsZWdhdGUgOiBwdWJsaWMgSVdl
YkZyYW1lTG9hZERlbGVnYXRlMiwgcHVibGljIElXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUg
ewpAQCAtMTMyLDYgKzEzMyw3IEBAIHByb3RlY3RlZDoKIAogICAgIFVMT05HIG1fcmVmQ291bnQ7
CiAgICAgT3duUHRyPEdDQ29udHJvbGxlcj4gbV9nY0NvbnRyb2xsZXI7CisgICAgT3duUHRyPEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyPiBtX2FjY2Vzc2liaWxpdHlDb250cm9sbGVyOwogfTsKIAog
I2VuZGlmIC8vIEZyYW1lTG9hZERlbGVnYXRlX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22963</attachid>
            <date>2008-08-24 05:46:31 -0700</date>
            <delta_ts>2008-09-03 16:56:50 -0700</delta_ts>
            <desc>Make AccessibilityController::focusedElement work</desc>
            <filename>get_accFocus.fix.patch</filename>
            <type>text/plain</type>
            <size>1823</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM1OTAy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgtMDgt
MjQgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KKworICAgICAgICBDYW5u
b3QgZ2V0IHRoZSBmb2N1c2VkIGFjY2Vzc2libGUgb2JqZWN0IGZyb20gdGhlIHJvb3Qgb2JqZWN0
LgorCisgICAgICAgIEFjY2Vzc2libGVCYXNlOjpnZXRfQWNjRm9jdXMoKSBjaGVja3Mgd2hldGhl
ciB0aGUgZm9jdXNlZCBvYmplY3QgaXMgYQorICAgICAgICBjaGlsZCBvZiB0aGUgY3VycmVudCBv
YmplY3QsIGJ1dCAKKyAgICAgICAgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJy
YXJ5L21zNjk2MTUwKFZTLjg1KS5hc3B4IHN0YXRlcyB0aGF0CisgICAgICAgIHRoZSByZXN1bHQg
aXMgdGhlIG9iamVjdCBpdHNlbGYsIGlmIGl0IGhhcyBmb2N1cywgb3IgYSBjaGlsZCBvYmplY3Qg
b2YKKyAgICAgICAgdGhlIGFjdGl2ZSB3aW5kb3csIG5vdCBhIGNoaWxkIG9mIHRoZSBvYmplY3Qu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBY2Nl
c3NpYmxlQmFzZS5jcHA6CisgICAgICAgIChBY2Nlc3NpYmxlQmFzZTo6Z2V0X2FjY0ZvY3VzKTog
RG9uJ3QgY2hlY2sgd2hldGhlciB0aGUgZm9jdXNlZCBvYmplY3QKKyAgICAgICAgaXMgb3VyIGNo
aWxkLgorCiAyMDA4LTA4LTE4ICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIFNQSSB0byBtYWtlIGEgV2luZG93cyBXZWJWaWV3IHRyYW5zcGFyZW50
LgpJbmRleDogQWNjZXNzaWJsZUJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEFjY2Vzc2libGVCYXNl
LmNwcAkocmV2aXNpb24gMzU4NzApCisrKyBBY2Nlc3NpYmxlQmFzZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM0OSwxNyArMzQ5LDE1IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgQWNjZXNz
aWJsZUJhc2UKICAgICBpZiAoIWZvY3VzZWRPYmopCiAgICAgICAgIHJldHVybiBTX0ZBTFNFOwog
Ci0gICAgLy8gT25seSByZXR1cm4gdGhlIGZvY3VzZWQgY2hpbGQgaWYgaXQncyB1cyBvciBhIGNo
aWxkIG9mIHVzLiBPdGhlcndpc2UsCi0gICAgLy8gcmVwb3J0IFZUX0VNUFRZLgogICAgIGlmIChm
b2N1c2VkT2JqID09IG1fb2JqZWN0KSB7CiAgICAgICAgIFZfVlQocHZGb2N1c2VkQ2hpbGQpID0g
VlRfSTQ7CiAgICAgICAgIFZfSTQocHZGb2N1c2VkQ2hpbGQpID0gQ0hJTERJRF9TRUxGOwotICAg
IH0gZWxzZSBpZiAoZm9jdXNlZE9iai0+cGFyZW50T2JqZWN0KCkgPT0gbV9vYmplY3QpIHsKLSAg
ICAgICAgVl9WVChwdkZvY3VzZWRDaGlsZCkgPSBWVF9ESVNQQVRDSDsKLSAgICAgICAgVl9ESVNQ
QVRDSChwdkZvY3VzZWRDaGlsZCkgPSB3cmFwcGVyKGZvY3VzZWRPYmopOwotICAgICAgICBWX0RJ
U1BBVENIKHB2Rm9jdXNlZENoaWxkKS0+QWRkUmVmKCk7CisgICAgICAgIHJldHVybiBTX09LOwog
ICAgIH0KIAorICAgIFZfVlQocHZGb2N1c2VkQ2hpbGQpID0gVlRfRElTUEFUQ0g7CisgICAgVl9E
SVNQQVRDSChwdkZvY3VzZWRDaGlsZCkgPSB3cmFwcGVyKGZvY3VzZWRPYmopOworICAgIFZfRElT
UEFUQ0gocHZGb2N1c2VkQ2hpbGQpLT5BZGRSZWYoKTsKICAgICByZXR1cm4gU19PSzsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>