<?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>123078</bug_id>
          
          <creation_ts>2013-10-19 21:18:48 -0700</creation_ts>
          <short_desc>CTTE: Tighten up type usage around InputType::innerTextElement()</short_desc>
          <delta_ts>2013-10-19 21:53:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941648</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-10-19 21:18:48 -0700</bug_when>
    <thetext>CTTE: Tighten up type usage around InputType::innerTextElement()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941649</commentid>
    <comment_count>1</comment_count>
      <attachid>214688</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-10-19 21:25:55 -0700</bug_when>
    <thetext>Created attachment 214688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941654</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-10-19 21:53:51 -0700</bug_when>
    <thetext>Committed r157694: &lt;http://trac.webkit.org/changeset/157694&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214688</attachid>
            <date>2013-10-19 21:25:55 -0700</date>
            <delta_ts>2013-10-19 21:30:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123078-20131019212554.patch</filename>
            <type>text/plain</type>
            <size>25442</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzY5MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDEzLTEwLTE5ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ1RURTogVGlnaHRlbiB1cCB0eXBlIHVz
YWdlIGFyb3VuZCBJbnB1dFR5cGU6OmlubmVyVGV4dEVsZW1lbnQoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDc4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL1RleHRJdGVyYXRvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmhhbmRsZVJlcGxhY2VkRWxlbWVu
dCk6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEVsZW1lbnQ6OmlzVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVu
dDo6aW5uZXJUZXh0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OmlubmVyVGV4dEVsZW1lbnQpOgorICAgICAgICAqIGh0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29u
dHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFzVmlzaWJsZVRleHRBcmVhKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpzZWxlY3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlubmVyVGV4
dFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp2
YWx1ZVdpdGhIYXJkTGluZUJyZWFrcyk6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgIChXZWJD
b3JlOjpJbnB1dFR5cGU6OmlubmVyVGV4dEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvVGV4dEZp
ZWxkSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6
Zm9yd2FyZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6aW5u
ZXJUZXh0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50OjpyZW5kZXJlcik6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmg6CisgICAgICAgIChX
ZWJDb3JlOjppc1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1Rl
eHRDb250cm9sSW5uZXJCbG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjppbm5lclRleHRF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpzdHlsZURpZENo
YW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6dGV4dEJsb2NrTG9n
aWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjp1cGRhdGVG
cm9tRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0
ZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6Omhp
dElubmVyVGV4dEVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpsYXlvdXQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzdHlsZURp
ZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OmF1dG9zY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lOjpsb2dpY2FsU2Nyb2xsKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1JlbmRlclRleHRDb250cm9sSW5u
ZXJCbG9jayk6CisKIDIwMTMtMTAtMTkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBNb3ZlIG1fbGluZUJveGVzIGZyb20gUmVuZGVyQmxvY2sgdG8gUmVuZGVyQmxvY2tG
bG93IChQYXJ0IDQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CShyZXZpc2lvbiAxNTc2OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDkgKzMyLDggQEAKICNpbmNsdWRlICJGb250Lmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgotI2luY2x1ZGUg
IkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0j
aW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKKyNpbmNsdWRlICJIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudC5oIgogI2luY2x1ZGUgIklubGluZVRleHRCb3guaCIKICNpbmNsdWRlICJOb2RlVHJhdmVy
c2FsLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKQEAgLTQ2LDggKzQ1LDEwIEBACiAjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlRleHRCb3VuZGFyaWVzLmgiCiAjaW5jbHVkZSAiVGV4
dEJyZWFrSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJUZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIK
ICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIKICNpbmNsdWRlICJWaXNpYmxlVW5pdHMuaCIK
KyNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCkBAIC02ODEsNyArNjgy
LDcgQEAgYm9vbCBUZXh0SXRlcmF0b3I6OmhhbmRsZVJlcGxhY2VkRWxlbWVudAogICAgIH0KIAog
ICAgIGlmIChtX2VudGVyc1RleHRDb250cm9scyAmJiByZW5kZXJlci0+aXNUZXh0Q29udHJvbCgp
KSB7Ci0gICAgICAgIGlmIChIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCA9IHRvUmVuZGVy
VGV4dENvbnRyb2wocmVuZGVyZXIpLT50ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCkuaW5uZXJUZXh0
RWxlbWVudCgpKSB7CisgICAgICAgIGlmIChUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQqIGlu
bmVyVGV4dEVsZW1lbnQgPSB0b1JlbmRlclRleHRDb250cm9sKHJlbmRlcmVyKS0+dGV4dEZvcm1D
b250cm9sRWxlbWVudCgpLmlubmVyVGV4dEVsZW1lbnQoKSkgewogICAgICAgICAgICAgbV9ub2Rl
ID0gaW5uZXJUZXh0RWxlbWVudC0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKICAgICAgICAgICAg
IHB1c2hGdWxseUNsaXBwZWRTdGF0ZShtX2Z1bGx5Q2xpcHBlZFN0YWNrLCBtX25vZGUpOwogICAg
ICAgICAgICAgbV9vZmZzZXQgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAko
cmV2aXNpb24gMTU3NjkzKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05MCw2ICs5MCw3IEBAIHB1YmxpYzoKICAgICBUZXh0RGlyZWN0aW9u
IGRpcmVjdGlvbmFsaXR5SWZoYXNEaXJBdXRvQXR0cmlidXRlKGJvb2wmIGlzQXV0bykgY29uc3Q7
CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MVW5rbm93bkVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMYWJlbGFi
bGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgRm9ybU5hbWVkSXRlbSog
YXNGb3JtTmFtZWRJdGVtKCkgeyByZXR1cm4gMDsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTc2OTMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTAsNyArMTkw
LDcgQEAgSFRNTEVsZW1lbnQqIEhUTUxJbnB1dEVsZW1lbnQ6OmNvbnRhaW5lcgogICAgIHJldHVy
biBtX2lucHV0VHlwZS0+Y29udGFpbmVyRWxlbWVudCgpOwogfQogCi1IVE1MRWxlbWVudCogSFRN
TElucHV0RWxlbWVudDo6aW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0CitUZXh0Q29udHJvbElubmVy
VGV4dEVsZW1lbnQqIEhUTUxJbnB1dEVsZW1lbnQ6OmlubmVyVGV4dEVsZW1lbnQoKSBjb25zdAog
ewogICAgIHJldHVybiBtX2lucHV0VHlwZS0+aW5uZXJUZXh0RWxlbWVudCgpOwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHJldmlzaW9uIDE1NzY5MykKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOSw4ICszOSw5IEBAIGNsYXNzIEhUTUxJbWFnZUxvYWRlcjsKIGNsYXNzIEhUTUxPcHRpb25F
bGVtZW50OwogY2xhc3MgSWNvbjsKIGNsYXNzIElucHV0VHlwZTsKLWNsYXNzIFVSTDsKIGNsYXNz
IExpc3RBdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcjsKK2NsYXNzIFRleHRDb250cm9sSW5uZXJUZXh0
RWxlbWVudDsKK2NsYXNzIFVSTDsKIHN0cnVjdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwog
CiBzdHJ1Y3QgSW5wdXRFbGVtZW50Q2xpY2tTdGF0ZSB7CkBAIC0xMzgsNyArMTM5LDcgQEAgcHVi
bGljOgogI2VuZGlmCiAKICAgICBIVE1MRWxlbWVudCogY29udGFpbmVyRWxlbWVudCgpIGNvbnN0
OwotICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyVGV4dEVsZW1lbnQoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0
RWxlbWVudCgpIGNvbnN0IE9WRVJSSURFOwogICAgIEhUTUxFbGVtZW50KiBpbm5lckJsb2NrRWxl
bWVudCgpIGNvbnN0OwogICAgIEhUTUxFbGVtZW50KiBpbm5lclNwaW5CdXR0b25FbGVtZW50KCkg
Y29uc3Q7CiAgICAgSFRNTEVsZW1lbnQqIHJlc3VsdHNCdXR0b25FbGVtZW50KCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE1NzY5MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMiwxMSArMzIyLDEwIEBAIFN0cmluZyBIVE1MVGV4dEFy
ZWFFbGVtZW50OjpzYW5pdGl6ZVVzZXIKICAgICByZXR1cm4gcHJvcG9zZWRWYWx1ZS5sZWZ0KG51
bUNoYXJhY3RlcnNJbkdyYXBoZW1lQ2x1c3RlcnMocHJvcG9zZWRWYWx1ZSwgbWF4TGVuZ3RoKSk7
CiB9CiAKLUhUTUxFbGVtZW50KiBIVE1MVGV4dEFyZWFFbGVtZW50Ojppbm5lclRleHRFbGVtZW50
KCkgY29uc3QKK1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogSFRNTFRleHRBcmVhRWxlbWVu
dDo6aW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0CiB7CiAgICAgTm9kZSogbm9kZSA9IHVzZXJBZ2Vu
dFNoYWRvd1Jvb3QoKS0+Zmlyc3RDaGlsZCgpOwotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5o
YXNUYWdOYW1lKGRpdlRhZykpOwotICAgIHJldHVybiB0b0hUTUxFbGVtZW50KG5vZGUpOworICAg
IHJldHVybiB0b1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudChub2RlKTsKIH0KIAogdm9pZCBI
VE1MVGV4dEFyZWFFbGVtZW50OjpyZW5kZXJlcldpbGxCZURlc3Ryb3llZCgpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAkocmV2aXNpb24gMTU3NjkzKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB0b29Mb25nKCkg
Y29uc3QgT1ZFUlJJREU7CiAgICAgYm9vbCBpc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJikgY29u
c3Q7CiAgICAgCi0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KiBp
bm5lclRleHRFbGVtZW50KCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2b2lkIHJlbmRlcmVyV2ls
bEJlRGVzdHJveWVkKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTc2OTMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzksMTAgKzM5LDEyIEBACiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKLSNpbmNsdWRl
ICJSZW5kZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgorI2luY2x1ZGUg
IlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgi
CiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlRleHQuaCIKKyNpbmNsdWRlICJU
ZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApAQCAtMjAzLDcgKzIwNSw3IEBAIHZv
aWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmRpc3BhdGMKICAgICBzZXRDaGFuZ2VkU2lu
Y2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudChmYWxzZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUg
Ym9vbCBoYXNWaXNpYmxlVGV4dEFyZWEoUmVuZGVyRWxlbWVudCYgdGV4dENvbnRyb2wsIEhUTUxF
bGVtZW50KiBpbm5lclRleHQpCitzdGF0aWMgaW5saW5lIGJvb2wgaGFzVmlzaWJsZVRleHRBcmVh
KFJlbmRlckVsZW1lbnQmIHRleHRDb250cm9sLCBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQq
IGlubmVyVGV4dCkKIHsKICAgICByZXR1cm4gdGV4dENvbnRyb2wuc3R5bGUoKS0+dmlzaWJpbGl0
eSgpICE9IEhJRERFTiAmJiBpbm5lclRleHQgJiYgaW5uZXJUZXh0LT5yZW5kZXJlcigpICYmIGlu
bmVyVGV4dC0+cmVuZGVyQm94KCktPmhlaWdodCgpOwogfQpAQCAtNDI4LDcgKzQzMCw3IEBAIFBh
c3NSZWZQdHI8UmFuZ2U+IEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGUKICAgICBpbnQgZW5kID0gbV9j
YWNoZWRTZWxlY3Rpb25FbmQ7CiAKICAgICBBU1NFUlQoc3RhcnQgPD0gZW5kKTsKLSAgICBIVE1M
RWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgpOworICAgIFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgpOwogICAgIGlm
ICghaW5uZXJUZXh0KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNTI2LDggKzUyOCwxMSBAQCBz
dGF0aWMgU3RyaW5nIGZpbmlzaFRleHQoU3RyaW5nQnVpbGRlciYgCiAKIFN0cmluZyBIVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudDo6aW5uZXJUZXh0VmFsdWUoKSBjb25zdAogewotICAgIEhUTUxF
bGVtZW50KiBpbm5lclRleHQgPSBpbm5lclRleHRFbGVtZW50KCk7Ci0gICAgaWYgKCFpbm5lclRl
eHQgfHwgIWlzVGV4dEZvcm1Db250cm9sKCkpCisgICAgaWYgKCFpc1RleHRGb3JtQ29udHJvbCgp
KQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAgIFRleHRDb250cm9sSW5uZXJU
ZXh0RWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgpOworICAgIGlmICghaW5u
ZXJUZXh0KQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIFN0cmluZ0J1aWxk
ZXIgcmVzdWx0OwpAQCAtNTYxLDExICs1NjYsMTQgQEAgU3RyaW5nIEhUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50Ojp2YWx1ZQogewogICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBhY2NlcHRhYmxlIHRv
IGlnbm9yZSB0aGUgSGFyZFdyYXAgc2V0dGluZyB3aGVuIHRoZXJlIGlzIG5vIHJlbmRlcmVyLgog
ICAgIC8vIFdoaWxlIHdlIGhhdmUgbm8gZXZpZGVuY2UgdGhpcyBoYXMgZXZlciBiZWVuIGEgcHJh
Y3RpY2FsIHByb2JsZW0sIGl0IHdvdWxkIGJlIGJlc3QgdG8gZml4IGl0IHNvbWUgZGF5LgotICAg
IEhUTUxFbGVtZW50KiBpbm5lclRleHQgPSBpbm5lclRleHRFbGVtZW50KCk7Ci0gICAgaWYgKCFp
bm5lclRleHQgfHwgIWlzVGV4dEZvcm1Db250cm9sKCkpCisgICAgaWYgKCFpc1RleHRGb3JtQ29u
dHJvbCgpKQorICAgICAgICByZXR1cm4gdmFsdWUoKTsKKworICAgIFRleHRDb250cm9sSW5uZXJU
ZXh0RWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgpOworICAgIGlmICghaW5u
ZXJUZXh0KQogICAgICAgICByZXR1cm4gdmFsdWUoKTsKIAotICAgIFJlbmRlckJsb2NrKiByZW5k
ZXJlciA9IHRvUmVuZGVyQmxvY2soaW5uZXJUZXh0LT5yZW5kZXJlcigpKTsKKyAgICBSZW5kZXJU
ZXh0Q29udHJvbElubmVyQmxvY2sqIHJlbmRlcmVyID0gaW5uZXJUZXh0LT5yZW5kZXJlcigpOwog
ICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiB2YWx1ZSgpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCShyZXZp
c2lvbiAxNTc2OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBQb3NpdGlvbjsKIGNsYXNzIFJlbmRlclRleHRDb250cm9sOworY2xhc3Mg
VGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50OwogY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCiBl
bnVtIFRleHRGaWVsZFNlbGVjdGlvbkRpcmVjdGlvbiB7IFNlbGVjdGlvbkhhc05vRGlyZWN0aW9u
LCBTZWxlY3Rpb25IYXNGb3J3YXJkRGlyZWN0aW9uLCBTZWxlY3Rpb25IYXNCYWNrd2FyZERpcmVj
dGlvbiB9OwpAQCAtNzUsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgbWF4TGVu
Z3RoKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlKCkgY29uc3QgPSAwOwog
Ci0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0RWxlbWVu
dCgpIGNvbnN0ID0gMDsKIAogICAgIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZChib29sIHVzZXJUcmln
Z2VyZWQpOwogICAgIGJvb2wgbGFzdENoYW5nZVdhc1VzZXJFZGl0KCkgY29uc3Q7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgJKHJldmlzaW9uIDE1NzY5MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAgY2xhc3Mg
Tm9kZTsKIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFzcyBUb3Vj
aEV2ZW50OworY2xhc3MgVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50OwogCiBzdHJ1Y3QgSW5w
dXRFbGVtZW50Q2xpY2tTdGF0ZTsKIApAQCAtMjE3LDcgKzIxOCw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgSFRNTEVsZW1lbnQqIGNvbnRhaW5lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBu
dWxscHRyOyB9CiAgICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJCbG9ja0VsZW1lbnQoKSBj
b25zdCB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJU
ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2aXJ0dWFsIFRleHRD
b250cm9sSW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBpbm5lclNwaW5CdXR0b25FbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQq
IHJlc3VsdHNCdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZp
cnR1YWwgSFRNTEVsZW1lbnQqIGNhbmNlbEJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBu
dWxscHRyOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUu
Y3BwCShyZXZpc2lvbiAxNTc2OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElu
cHV0VHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NSw3ICsxNzUsNyBAQCB2b2lkIFRleHRG
aWVsZElucHV0VHlwZTo6Zm9yd2FyZEV2ZW50KEV2CiAgICAgaWYgKGVsZW1lbnQoKS5yZW5kZXJl
cigpICYmIChldmVudC0+aXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQtPmlzRHJhZ0V2ZW50KCkgfHwg
ZXZlbnQtPmV2ZW50SW50ZXJmYWNlKCkgPT0gV2hlZWxFdmVudEludGVyZmFjZVR5cGUgfHwgZXZl
bnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuYmx1ckV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLmZvY3VzRXZlbnQpKSB7CiAgICAgICAgIFJlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZSogcmVuZGVyVGV4dENvbnRyb2wgPSB0b1JlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZShlbGVtZW50KCkucmVuZGVyZXIoKSk7CiAgICAgICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2
ZW50TmFtZXMoKS5ibHVyRXZlbnQpIHsKLSAgICAgICAgICAgIGlmIChSZW5kZXJCb3gqIGlubmVy
VGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJCb3goKSkgeworICAgICAg
ICAgICAgaWYgKFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9jayogaW5uZXJUZXh0UmVuZGVyZXIg
PSBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
UmVuZGVyTGF5ZXIqIGlubmVyTGF5ZXIgPSBpbm5lclRleHRSZW5kZXJlci0+bGF5ZXIoKSkgewog
ICAgICAgICAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldCghcmVuZGVyVGV4dENvbnRy
b2wtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IGlubmVyTGF5ZXItPnNjcm9s
bFdpZHRoKCkgOiAwLCAwKTsKICAgICAgICAgICAgICAgICAgICAgaW5uZXJMYXllci0+c2Nyb2xs
VG9PZmZzZXQoc2Nyb2xsT2Zmc2V0LCBSZW5kZXJMYXllcjo6U2Nyb2xsT2Zmc2V0Q2xhbXBlZCk7
CkBAIC0yNzMsNyArMjczLDcgQEAgSFRNTEVsZW1lbnQqIFRleHRGaWVsZElucHV0VHlwZTo6aW5u
ZXJCbAogICAgIHJldHVybiBtX2lubmVyQmxvY2suZ2V0KCk7CiB9CiAKLUhUTUxFbGVtZW50KiBU
ZXh0RmllbGRJbnB1dFR5cGU6OmlubmVyVGV4dEVsZW1lbnQoKSBjb25zdAorVGV4dENvbnRyb2xJ
bm5lclRleHRFbGVtZW50KiBUZXh0RmllbGRJbnB1dFR5cGU6OmlubmVyVGV4dEVsZW1lbnQoKSBj
b25zdAogewogICAgIEFTU0VSVChtX2lubmVyVGV4dCk7CiAgICAgcmV0dXJuIG1faW5uZXJUZXh0
LmdldCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5oCShy
ZXZpc2lvbiAxNTc2OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlw
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRm9ybURhdGFMaXN0OyAKK2NsYXNzIEZvcm1EYXRhTGlzdDsKK2NsYXNzIFRl
eHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDsKIAogLy8gVGhlIGNsYXNzIHJlcHJlc2VudHMgdHlw
ZXMgb2Ygd2hpY2ggVUkgY29udGFpbiB0ZXh0IGZpZWxkcy4KIC8vIEl0IHN1cHBvcnRzIG5vdCBv
bmx5IHRoZSB0eXBlcyBmb3IgQmFzZVRleHRJbnB1dFR5cGUgYnV0IGFsc28gdHlwZT1udW1iZXIu
CkBAIC01MCw3ICs1MSw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQq
IGNvbnRhaW5lckVsZW1lbnQoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIEhUTUxFbGVt
ZW50KiBpbm5lckJsb2NrRWxlbWVudCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgSFRN
TEVsZW1lbnQqIGlubmVyVGV4dEVsZW1lbnQoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0IE9W
RVJSSURFOwogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyU3BpbkJ1dHRvbkVsZW1lbnQo
KSBjb25zdCBPVkVSUklERTsKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgIHZpcnR1YWwg
SFRNTEVsZW1lbnQqIHNwZWVjaEJ1dHRvbkVsZW1lbnQoKSBjb25zdCBPVkVSUklERTsKQEAgLTEw
Miw3ICsxMDMsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPEhUTUxFbGVtZW50PiBtX2NvbnRh
aW5lcjsKICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG1faW5uZXJCbG9jazsKLSAgICBSZWZQdHI8
SFRNTEVsZW1lbnQ+IG1faW5uZXJUZXh0OworICAgIFJlZlB0cjxUZXh0Q29udHJvbElubmVyVGV4
dEVsZW1lbnQ+IG1faW5uZXJUZXh0OwogICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9wbGFjZWhv
bGRlcjsKICAgICBSZWZQdHI8U3BpbkJ1dHRvbkVsZW1lbnQ+IG1faW5uZXJTcGluQnV0dG9uOwog
I2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAJKHJldmlzaW9uIDE1
NzY5MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVt
ZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNyw2ICsxMTcsMTEgQEAgUmVuZGVyRWxlbWVu
dCogVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZQogICAgIHJldHVybiBuZXcgUmVuZGVyVGV4dENv
bnRyb2xJbm5lckJsb2NrKCp0aGlzKTsKIH0KIAorUmVuZGVyVGV4dENvbnRyb2xJbm5lckJsb2Nr
KiBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQ6OnJlbmRlcmVyKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdG9SZW5kZXJUZXh0Q29udHJvbElubmVyQmxvY2soSFRNTERpdkVsZW1lbnQ6OnJlbmRl
cmVyKCkpOworfQorCiBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBUZXh0Q29udHJvbElubmVyVGV4
dEVsZW1lbnQ6OmN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoKQogewogICAgIFJlbmRlclRleHRDb250
cm9sKiBwYXJlbnRSZW5kZXJlciA9IHRvUmVuZGVyVGV4dENvbnRyb2woc2hhZG93SG9zdCgpLT5y
ZW5kZXJlcigpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9s
SW5uZXJFbGVtZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCShyZXZpc2lvbiAxNTc2OTMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaAkod29ya2luZyBj
b3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFJl
bmRlclRleHRDb250cm9sSW5uZXJCbG9jazsKIGNsYXNzIFNwZWVjaElucHV0OwogCiBjbGFzcyBU
ZXh0Q29udHJvbElubmVyQ29udGFpbmVyIEZJTkFMIDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsK
QEAgLTYxLDEzICs2MiwyMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2
ZW50SGFuZGxlcihFdmVudCopIE9WRVJSSURFOwogCisgICAgUmVuZGVyVGV4dENvbnRyb2xJbm5l
ckJsb2NrKiByZW5kZXJlcigpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFRleHRDb250cm9sSW5u
ZXJUZXh0RWxlbWVudChEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgUmVuZGVyRWxlbWVudCogY3Jl
YXRlUmVuZGVyZXIoUmVuZGVyU3R5bGUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8UmVuZGVyU3R5bGU+IGN1c3RvbVN0eWxlRm9yUmVuZGVyZXIoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogfTsKIAoraW5saW5lIGJvb2wgaXNUZXh0
Q29udHJvbElubmVyVGV4dEVsZW1lbnQoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpIHsgcmV0
dXJuIGVsZW1lbnQuaXNUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQoKTsgfQoraW5saW5lIGJv
b2wgaXNUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQoY29uc3QgTm9kZSYgbm9kZSkgeyByZXR1
cm4gbm9kZS5pc0hUTUxFbGVtZW50KCkgJiYgaXNUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQo
dG9IVE1MRWxlbWVudChub2RlKSk7IH0KK05PREVfVFlQRV9DQVNUUyhUZXh0Q29udHJvbElubmVy
VGV4dEVsZW1lbnQpCisKIGNsYXNzIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQgRklO
QUwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMTU3
NjkzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNDgsNiArMzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Rl
eHRDb250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNU
ZXh0QXJlYSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzVGV4
dEZpZWxkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0
Q29udHJvbElubmVyQmxvY2soKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aXNXaWRnZXQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0Nh
bnZhcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDE1NzY5MykKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDkgKzI1LDExIEBACiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5o
IgorI2luY2x1ZGUgIlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIgogI2luY2x1ZGUgIlJl
bmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKICNpbmNsdWRlICJTdHls
ZUluaGVyaXRlZERhdGEuaCIKKyNpbmNsdWRlICJUZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIK
ICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIK
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgpAQCAtNTAsNyArNTIsNyBA
QCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCYgUmVuZGVyVGV4dENvCiAgICAgcmV0dXJuIHRv
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQobm9kZUZvck5vbkFub255bW91cygpKTsKIH0KIAot
SFRNTEVsZW1lbnQqIFJlbmRlclRleHRDb250cm9sOjppbm5lclRleHRFbGVtZW50KCkgY29uc3QK
K1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogUmVuZGVyVGV4dENvbnRyb2w6OmlubmVyVGV4
dEVsZW1lbnQoKSBjb25zdAogewogICAgIHJldHVybiB0ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCku
aW5uZXJUZXh0RWxlbWVudCgpOwogfQpAQCAtNTgsMTAgKzYwLDEwIEBAIEhUTUxFbGVtZW50KiBS
ZW5kZXJUZXh0Q29udHJvbDo6aW5uZXJUZXgKIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnN0eWxl
RGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5
bGUpCiB7CiAgICAgUmVuZGVyQmxvY2tGbG93OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHls
ZSk7Ci0gICAgRWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgpOworICAgIFRl
eHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgp
OwogICAgIGlmICghaW5uZXJUZXh0KQogICAgICAgICByZXR1cm47Ci0gICAgUmVuZGVyQmxvY2sq
IGlubmVyVGV4dFJlbmRlcmVyID0gdG9SZW5kZXJCbG9jayhpbm5lclRleHQtPnJlbmRlcmVyKCkp
OworICAgIFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9jayogaW5uZXJUZXh0UmVuZGVyZXIgPSBp
bm5lclRleHQtPnJlbmRlcmVyKCk7CiAgICAgaWYgKGlubmVyVGV4dFJlbmRlcmVyKSB7CiAgICAg
ICAgIC8vIFdlIG1heSBoYXZlIHNldCB0aGUgd2lkdGggYW5kIHRoZSBoZWlnaHQgaW4gdGhlIG9s
ZCBzdHlsZSBpbiBsYXlvdXQoKS4KICAgICAgICAgLy8gUmVzZXQgdGhlbSBub3cgdG8gYXZvaWQg
Z2V0dGluZyBhIHNwdXJpb3VzIGxheW91dCBoaW50LgpAQCAtMTAxLDcgKzEwMyw3IEBAIGludCBS
ZW5kZXJUZXh0Q29udHJvbDo6dGV4dEJsb2NrTG9naWNhbEgKIAogaW50IFJlbmRlclRleHRDb250
cm9sOjp0ZXh0QmxvY2tMb2dpY2FsV2lkdGgoKSBjb25zdAogewotICAgIEVsZW1lbnQqIGlubmVy
VGV4dCA9IGlubmVyVGV4dEVsZW1lbnQoKTsKKyAgICBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1l
bnQqIGlubmVyVGV4dCA9IGlubmVyVGV4dEVsZW1lbnQoKTsKICAgICBBU1NFUlQoaW5uZXJUZXh0
KTsKIAogICAgIExheW91dFVuaXQgdW5pdFdpZHRoID0gbG9naWNhbFdpZHRoKCkgLSBib3JkZXJB
bmRQYWRkaW5nTG9naWNhbFdpZHRoKCk7CkBAIC0xMTMsNyArMTE1LDcgQEAgaW50IFJlbmRlclRl
eHRDb250cm9sOjp0ZXh0QmxvY2tMb2dpY2FsVwogCiB2b2lkIFJlbmRlclRleHRDb250cm9sOjp1
cGRhdGVGcm9tRWxlbWVudCgpCiB7Ci0gICAgRWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0
RWxlbWVudCgpOworICAgIFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCogaW5uZXJUZXh0ID0g
aW5uZXJUZXh0RWxlbWVudCgpOwogICAgIGlmIChpbm5lclRleHQgJiYgaW5uZXJUZXh0LT5yZW5k
ZXJlcigpKQogICAgICAgICB1cGRhdGVVc2VyTW9kaWZ5UHJvcGVydHkodGV4dEZvcm1Db250cm9s
RWxlbWVudCgpLCBpbm5lclRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCkpOwogfQpAQCAtMTI2LDcg
KzEyOCw3IEBAIGludCBSZW5kZXJUZXh0Q29udHJvbDo6c2Nyb2xsYmFyVGhpY2tuZXMKIAogdm9p
ZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoTGF5b3V0VW5pdCBsb2dp
Y2FsSGVpZ2h0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZh
bHVlcyYgY29tcHV0ZWRWYWx1ZXMpIGNvbnN0CiB7Ci0gICAgSFRNTEVsZW1lbnQqIGlubmVyVGV4
dCA9IGlubmVyVGV4dEVsZW1lbnQoKTsKKyAgICBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQq
IGlubmVyVGV4dCA9IGlubmVyVGV4dEVsZW1lbnQoKTsKICAgICBBU1NFUlQoaW5uZXJUZXh0KTsK
ICAgICBpZiAoUmVuZGVyQm94KiBpbm5lclRleHRCb3ggPSBpbm5lclRleHQtPnJlbmRlckJveCgp
KSB7CiAgICAgICAgIExheW91dFVuaXQgbm9uQ29udGVudEhlaWdodCA9IGlubmVyVGV4dEJveC0+
Ym9yZGVyQW5kUGFkZGluZ0hlaWdodCgpICsgaW5uZXJUZXh0Qm94LT5tYXJnaW5IZWlnaHQoKTsK
QEAgLTE0Myw3ICsxNDUsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlTG9naWNh
bEhlCiAKIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OmhpdElubmVyVGV4dEVsZW1lbnQoSGl0VGVz
dFJlc3VsdCYgcmVzdWx0LCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KQogewotICAgIEhUTUxFbGVtZW50KiBp
bm5lclRleHQgPSBpbm5lclRleHRFbGVtZW50KCk7CisgICAgVGV4dENvbnRyb2xJbm5lclRleHRF
bGVtZW50KiBpbm5lclRleHQgPSBpbm5lclRleHRFbGVtZW50KCk7CiAgICAgaWYgKCFpbm5lclRl
eHQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgJKHJldmlzaW9uIDE1NzY5MykKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw2ICsyNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgVGV4dENv
bnRyb2xJbm5lclRleHRFbGVtZW50OwogY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7
CiAKIGNsYXNzIFJlbmRlclRleHRDb250cm9sIDogcHVibGljIFJlbmRlckJsb2NrRmxvdyB7CkBA
IC00MCw3ICs0MSw3IEBAIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBSZW5kZXJUZXh0Q29udHJv
bChIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCYpOwogCiAgICAgLy8gVGhpcyBjb252ZW5pZW5j
ZSBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1hZGUgcHVibGljIGJlY2F1c2UgaW5uZXJUZXh0RWxl
bWVudCBtYXkgb3V0bGl2ZSB0aGUgcmVuZGVyIHRyZWUuCi0gICAgSFRNTEVsZW1lbnQqIGlubmVy
VGV4dEVsZW1lbnQoKSBjb25zdDsKKyAgICBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQqIGlu
bmVyVGV4dEVsZW1lbnQoKSBjb25zdDsKIAogICAgIGludCBzY3JvbGxiYXJUaGlja25lc3MoKSBj
b25zdDsKICAgICB2b2lkIGFkanVzdElubmVyVGV4dFN0eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBz
dGFydFN0eWxlLCBSZW5kZXJTdHlsZSogdGV4dEJsb2NrU3R5bGUpIGNvbnN0OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZS5jcHAJKHJldmlzaW9uIDE1NzY5MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEs
NyArMTIxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmxheW91dAogICAg
IC8vIGFuZCB0eXBlPXNlYXJjaCBpZiB0aGUgdGV4dCBoZWlnaHQgaXMgdGFsbGVyIHRoYW4gdGhl
IGNvbnRlbnRIZWlnaHQoKQogICAgIC8vIGJlY2F1c2Ugb2YgY29tcGFiaWxpdHkuCiAKLSAgICBS
ZW5kZXJCb3gqIGlubmVyVGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJC
b3goKTsKKyAgICBSZW5kZXJUZXh0Q29udHJvbElubmVyQmxvY2sqIGlubmVyVGV4dFJlbmRlcmVy
ID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJlcigpOwogICAgIFJlbmRlckJveCogaW5uZXJC
bG9ja1JlbmRlcmVyID0gaW5uZXJCbG9ja0VsZW1lbnQoKSA/IGlubmVyQmxvY2tFbGVtZW50KCkt
PnJlbmRlckJveCgpIDogMDsKIAogICAgIC8vIFRvIGVuc3VyZSBjb25zaXN0ZW5jeSBiZXR3ZWVu
IGxheW91dHMsIHdlIG5lZWQgdG8gcmVzZXQgYW55IGNvbmRpdGlvbmFsbHkgb3ZlcnJpZGVuIGhl
aWdodC4KQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZTo6c3R5bGVECiAgICAgICAgIGNvbnRhaW5lclJlbmRlcmVyLT5zdHlsZSgpLT5zZXRIZWlnaHQo
TGVuZ3RoKCkpOwogICAgICAgICBjb250YWluZXJSZW5kZXJlci0+c3R5bGUoKS0+c2V0V2lkdGgo
TGVuZ3RoKCkpOwogICAgIH0KLSAgICBSZW5kZXJPYmplY3QqIGlubmVyVGV4dFJlbmRlcmVyID0g
aW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJlcigpOworICAgIFJlbmRlclRleHRDb250cm9sSW5u
ZXJCbG9jayogaW5uZXJUZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlcmVy
KCk7CiAgICAgaWYgKGlubmVyVGV4dFJlbmRlcmVyICYmIGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNl
TGF5b3V0KQogICAgICAgICBpbm5lclRleHRSZW5kZXJlci0+c2V0TmVlZHNMYXlvdXQoTWFya0Nv
bnRhaW5pbmdCbG9ja0NoYWluKTsKICAgICBpZiAoSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVyID0g
aW5wdXRFbGVtZW50KCkucGxhY2Vob2xkZXJFbGVtZW50KCkpCkBAIC0zOTksNyArMzk5LDcgQEAg
Ym9vbCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnRleHRTaAogCiB2b2lkIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6YXV0b3Njcm9sbChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24p
CiB7Ci0gICAgUmVuZGVyQm94KiByZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVy
Qm94KCk7CisgICAgUmVuZGVyVGV4dENvbnRyb2xJbm5lckJsb2NrKiByZW5kZXJlciA9IGlubmVy
VGV4dEVsZW1lbnQoKS0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICBy
ZXR1cm47CiAgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0gcmVuZGVyZXItPmxheWVyKCk7CkBAIC00
NDksNyArNDQ5LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNldFNjcgog
CiBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c2Nyb2xsKFNjcm9sbERpcmVjdGlv
biBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBs
aWVyLCBFbGVtZW50Kiogc3RvcEVsZW1lbnQpCiB7Ci0gICAgUmVuZGVyQm94KiByZW5kZXJlciA9
IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCk7CisgICAgUmVuZGVyVGV4dENvbnRyb2xJ
bm5lckJsb2NrKiByZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyZXIoKTsKICAg
ICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgUmVuZGVyTGF5ZXIq
IGxheWVyID0gcmVuZGVyZXItPmxheWVyKCk7CkBAIC00NjAsNyArNDYwLDcgQEAgYm9vbCBSZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnNjcm9sbAogCiBib29sIFJlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZTo6bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlv
biwgU2Nyb2xsR3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIEVsZW1l
bnQqKiBzdG9wRWxlbWVudCkKIHsKLSAgICBSZW5kZXJMYXllciogbGF5ZXIgPSBpbm5lclRleHRF
bGVtZW50KCktPnJlbmRlckJveCgpLT5sYXllcigpOworICAgIFJlbmRlckxheWVyKiBsYXllciA9
IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+bGF5ZXIoKTsKICAgICBpZiAobGF5ZXIg
JiYgbGF5ZXItPnNjcm9sbChsb2dpY2FsVG9QaHlzaWNhbChkaXJlY3Rpb24sIHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCksIHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdN
b2RlKCkpLCBncmFudWxhcml0eSwgbXVsdGlwbGllcikpCiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBncmFu
dWxhcml0eSwgbXVsdGlwbGllciwgc3RvcEVsZW1lbnQpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkocmV2
aXNpb24gMTU3NjkzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCB0
b1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZShjb25zdAogCiAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKLWNsYXNzIFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9jayA6IHB1Ymxp
YyBSZW5kZXJCbG9ja0Zsb3cgeworY2xhc3MgUmVuZGVyVGV4dENvbnRyb2xJbm5lckJsb2NrIEZJ
TkFMIDogcHVibGljIFJlbmRlckJsb2NrRmxvdyB7CiBwdWJsaWM6CiAgICAgUmVuZGVyVGV4dENv
bnRyb2xJbm5lckJsb2NrKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIDogUmVuZGVyQmxvY2tG
bG93KGVsZW1lbnQpCkBAIC0xMTgsOCArMTE4LDE4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGJvb2wgaGFzTGluZUlmRW1wdHkoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0
cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzVGV4dENvbnRyb2xJbm5lckJsb2NrKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogfTsKIAoraW5saW5lIFJlbmRlclRleHRDb250cm9s
SW5uZXJCbG9jayogdG9SZW5kZXJUZXh0Q29udHJvbElubmVyQmxvY2soUmVuZGVyT2JqZWN0KiBv
YmplY3QpCit7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8
fCBvYmplY3QtPmlzVGV4dENvbnRyb2xJbm5lckJsb2NrKCkpOworICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxSZW5kZXJUZXh0Q29udHJvbElubmVyQmxvY2sqPihvYmplY3QpOworfQorCisvLyBUaGlz
IHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCit2b2lkIHRvUmVu
ZGVyVGV4dENvbnRyb2xJbm5lckJsb2NrKGNvbnN0IFJlbmRlclRleHRDb250cm9sSW5uZXJCbG9j
ayopOworCiB9CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="237260"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>