<?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>153877</bug_id>
          
          <creation_ts>2016-02-04 10:53:21 -0800</creation_ts>
          <short_desc>PageGroup::captionPreferences should return a reference</short_desc>
          <delta_ts>2016-02-04 11:28:18 -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>Media</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1162046</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-02-04 10:53:21 -0800</bug_when>
    <thetext>PageGroup::captionPreferences can never return NULL so it should return a reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162049</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-04 10:54:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/24506917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162053</commentid>
    <comment_count>2</comment_count>
      <attachid>270668</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-02-04 10:57:07 -0800</bug_when>
    <thetext>Created attachment 270668
Proposed Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162074</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-02-04 11:28:18 -0800</bug_when>
    <thetext>Committed r196135: https://trac.webkit.org/r196135</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270668</attachid>
            <date>2016-02-04 10:57:07 -0800</date>
            <delta_ts>2016-02-04 10:58:47 -0800</delta_ts>
            <desc>Proposed Patch.</desc>
            <filename>caption_prefs_reference_patch.txt</filename>
            <type>text/plain</type>
            <size>20832</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjEzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDE2LTAyLTA0ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFBhZ2VHcm91cDo6Y2Fw
dGlvblByZWZlcmVuY2VzIHNob3VsZCByZXR1cm4gYSByZWZlcmVuY2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Mzg3NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250
cm9sc0hvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0hvc3Q6OnNvcnRl
ZFRyYWNrTGlzdEZvck1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0hvc3Q6
OmRpc3BsYXlOYW1lRm9yVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0hv
c3Q6OmNhcHRpb25NZW51T2ZmSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xz
SG9zdDo6Y2FwdGlvbkRpc3BsYXlNb2RlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlZ2lzdGVyRm9yQ2FwdGlvblByZWZlcmVuY2Vz
Q2hhbmdlZENhbGxiYWNrcyk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YWRkVGV4dFRyYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dyb3VwKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dFRyYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFj
a3MpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FwdGlvblByZWZlcmVu
Y2VzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllclByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdEVsZW1lbnQ6OnVwZGF0ZURpc3BsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sQ2xvc2VkQ2FwdGlvbnNUcmFja0xpc3RFbGVtZW50Ojpy
ZWJ1aWxkVHJhY2tMaXN0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUZXh0
VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVBY3RpdmVDdWVzRm9udFNpemUpOgorICAgICAg
ICAqIHBhZ2UvUGFnZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6Y2Fw
dGlvblByZWZlcmVuY2VzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OmNh
cHRpb25QcmVmZXJlbmNlcyk6CisgICAgICAgICogcGFnZS9QYWdlR3JvdXAuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jb2NvYS9XZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbToK
KyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9FbGVtZW50Ojp1cGRhdGVMZWdp
YmxlT3B0aW9ucyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlUcmFja0tp
bmQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2hvdWxkRGlzcGxheVRy
YWNrS2luZCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6SW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
dXNlclByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWNzKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6c2V0VXNlclByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWMpOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxzOjpjYXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldENhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0UHJpbWFyeUF1ZGlvVHJhY2tMYW5ndWFnZU92
ZXJyaWRlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0Q2FwdGlvbkRpc3BsYXlN
b2RlKToKKwogMjAxNi0wMi0wNCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBEb24ndCBkaXNjYXJkIGluLWJhbmQgY3VlcyB3aXRoIG5lZ2F0aXZlIHN0
YXJ0IHRpbWVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVk
aWFDb250cm9sc0hvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAJKHJldmlzaW9uIDE5NjA2NykKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDggKzkyLDcgQEAgVmVjdG9yPFJlZlB0cjxUZXh0VHJh
Y2s+PiBNZWRpYUNvbnRyb2xzSAogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIFZlY3Rv
cjxSZWZQdHI8VGV4dFRyYWNrPj4oKTsKIAotICAgIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMqIGNh
cHRpb25QcmVmZXJlbmNlcyA9IHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7Ci0g
ICAgcmV0dXJuIGNhcHRpb25QcmVmZXJlbmNlcy0+c29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0cmFj
a0xpc3QpOworICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLnNv
cnRlZFRyYWNrTGlzdEZvck1lbnUodHJhY2tMaXN0KTsKIH0KIAogVmVjdG9yPFJlZlB0cjxBdWRp
b1RyYWNrPj4gTWVkaWFDb250cm9sc0hvc3Q6OnNvcnRlZFRyYWNrTGlzdEZvck1lbnUoQXVkaW9U
cmFja0xpc3QqIHRyYWNrTGlzdCkKQEAgLTEwNSw4ICsxMDQsNyBAQCBWZWN0b3I8UmVmUHRyPEF1
ZGlvVHJhY2s+PiBNZWRpYUNvbnRyb2xzCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4g
VmVjdG9yPFJlZlB0cjxBdWRpb1RyYWNrPj4oKTsKIAotICAgIENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMqIGNhcHRpb25QcmVmZXJlbmNlcyA9IHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2Vz
KCk7Ci0gICAgcmV0dXJuIGNhcHRpb25QcmVmZXJlbmNlcy0+c29ydGVkVHJhY2tMaXN0Rm9yTWVu
dSh0cmFja0xpc3QpOworICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNl
cygpLnNvcnRlZFRyYWNrTGlzdEZvck1lbnUodHJhY2tMaXN0KTsKIH0KIAogU3RyaW5nIE1lZGlh
Q29udHJvbHNIb3N0OjpkaXNwbGF5TmFtZUZvclRyYWNrKFRleHRUcmFjayogdHJhY2spCkBAIC0x
MTgsOCArMTE2LDcgQEAgU3RyaW5nIE1lZGlhQ29udHJvbHNIb3N0OjpkaXNwbGF5TmFtZUZvcgog
ICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKLSAgICBDYXB0
aW9uVXNlclByZWZlcmVuY2VzKiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBwYWdlLT5ncm91cCgpLmNh
cHRpb25QcmVmZXJlbmNlcygpOwotICAgIHJldHVybiBjYXB0aW9uUHJlZmVyZW5jZXMtPmRpc3Bs
YXlOYW1lRm9yVHJhY2sodHJhY2spOworICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmNhcHRpb25Q
cmVmZXJlbmNlcygpLmRpc3BsYXlOYW1lRm9yVHJhY2sodHJhY2spOwogfQogCiBTdHJpbmcgTWVk
aWFDb250cm9sc0hvc3Q6OmRpc3BsYXlOYW1lRm9yVHJhY2soQXVkaW9UcmFjayogdHJhY2spCkBA
IC0xMzEsOCArMTI4LDcgQEAgU3RyaW5nIE1lZGlhQ29udHJvbHNIb3N0OjpkaXNwbGF5TmFtZUZv
cgogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAKLSAgICBD
YXB0aW9uVXNlclByZWZlcmVuY2VzKiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBwYWdlLT5ncm91cCgp
LmNhcHRpb25QcmVmZXJlbmNlcygpOwotICAgIHJldHVybiBjYXB0aW9uUHJlZmVyZW5jZXMtPmRp
c3BsYXlOYW1lRm9yVHJhY2sodHJhY2spOworICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmNhcHRp
b25QcmVmZXJlbmNlcygpLmRpc3BsYXlOYW1lRm9yVHJhY2sodHJhY2spOwogfQogCiBUZXh0VHJh
Y2sqIE1lZGlhQ29udHJvbHNIb3N0OjpjYXB0aW9uTWVudU9mZkl0ZW0oKQpAQCAtMTUxLDcgKzE0
Nyw3IEBAIEF0b21pY1N0cmluZyBNZWRpYUNvbnRyb2xzSG9zdDo6Y2FwdGlvbkQKICAgICBpZiAo
IXBhZ2UpCiAgICAgICAgIHJldHVybiBlbXB0eUF0b207CiAKLSAgICBzd2l0Y2ggKHBhZ2UtPmdy
b3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPmNhcHRpb25EaXNwbGF5TW9kZSgpKSB7CisgICAg
c3dpdGNoIChwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLmNhcHRpb25EaXNwbGF5
TW9kZSgpKSB7CiAgICAgY2FzZSBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpBdXRvbWF0aWM6CiAg
ICAgICAgIHJldHVybiBhdXRvbWF0aWNLZXl3b3JkKCk7CiAgICAgY2FzZSBDYXB0aW9uVXNlclBy
ZWZlcmVuY2VzOjpGb3JjZWRPbmx5OgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZp
c2lvbiAxOTYwNjcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NzUxLDcgKzQ3NTEsNyBAQCB2b2lkIERvY3VtZW50Ojp1bnJlZ2lzdGVyRm9y
UHJpdmF0ZUJyb3dzCiB2b2lkIERvY3VtZW50OjpyZWdpc3RlckZvckNhcHRpb25QcmVmZXJlbmNl
c0NoYW5nZWRDYWxsYmFja3MoRWxlbWVudCogZSkKIHsKICAgICBpZiAocGFnZSgpKQotICAgICAg
ICBwYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPnNldEludGVyZXN0ZWRJbkNh
cHRpb25QcmVmZXJlbmNlQ2hhbmdlcygpOworICAgICAgICBwYWdlKCktPmdyb3VwKCkuY2FwdGlv
blByZWZlcmVuY2VzKCkuc2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFuZ2VzKCk7
CiAKICAgICBtX2NhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWRFbGVtZW50cy5hZGQoZSk7CiB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE5
NjA2NykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0Myw3ICs0NDMsNyBAQCBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFF
bGVtZW50KGNvbnN0CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgaWYgKGRvY3VtZW50
LnBhZ2UoKSkKLSAgICAgICAgbV9jYXB0aW9uRGlzcGxheU1vZGUgPSBkb2N1bWVudC5wYWdlKCkt
Pmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPmNhcHRpb25EaXNwbGF5TW9kZSgpOworICAg
ICAgICBtX2NhcHRpb25EaXNwbGF5TW9kZSA9IGRvY3VtZW50LnBhZ2UoKS0+Z3JvdXAoKS5jYXB0
aW9uUHJlZmVyZW5jZXMoKS5jYXB0aW9uRGlzcGxheU1vZGUoKTsKICNlbmRpZgogCiAjaWYgRU5B
QkxFKE1FRElBX1NFU1NJT04pCkBAIC0zNTc5LDcgKzM1NzksNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OmFkZFRleHRUcmFjayhQYXNzCiAgICAgICAgIERvY3VtZW50JiBkb2N1bWVudCA9IHRo
aXMtPmRvY3VtZW50KCk7CiAgICAgICAgIGRvY3VtZW50LnJlZ2lzdGVyRm9yQ2FwdGlvblByZWZl
cmVuY2VzQ2hhbmdlZENhbGxiYWNrcyh0aGlzKTsKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBk
b2N1bWVudC5wYWdlKCkpCi0gICAgICAgICAgICBtX2NhcHRpb25EaXNwbGF5TW9kZSA9IHBhZ2Ut
Pmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPmNhcHRpb25EaXNwbGF5TW9kZSgpOworICAg
ICAgICAgICAgbV9jYXB0aW9uRGlzcGxheU1vZGUgPSBwYWdlLT5ncm91cCgpLmNhcHRpb25QcmVm
ZXJlbmNlcygpLmNhcHRpb25EaXNwbGF5TW9kZSgpOwogICAgIH0KIAogICAgIHRyYWNrLT5zZXRN
YW51YWxTZWxlY3Rpb25Nb2RlKG1fY2FwdGlvbkRpc3BsYXlNb2RlID09IENhcHRpb25Vc2VyUHJl
ZmVyZW5jZXM6Ok1hbnVhbCk7CkBAIC0zNzgzLDcgKzM3ODMsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFjCiAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVu
dDo6Y29uZmlndXJlVGV4dFRyYWNrR3JvdXAoJXApIiwgdGhpcyk7CiAKICAgICBQYWdlKiBwYWdl
ID0gZG9jdW1lbnQoKS5wYWdlKCk7Ci0gICAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyogY2FwdGlv
blByZWZlcmVuY2VzID0gcGFnZSA/IHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkg
OiAwOworICAgIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMqIGNhcHRpb25QcmVmZXJlbmNlcyA9IHBh
Z2UgPyAmcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKSA6IDA7CiAgICAgQ2FwdGlv
blVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlID0gY2FwdGlv
blByZWZlcmVuY2VzID8gY2FwdGlvblByZWZlcmVuY2VzLT5jYXB0aW9uRGlzcGxheU1vZGUoKSA6
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkF1dG9tYXRpYzsKIAogICAgIC8vIEZpcnN0LCBmaW5k
IHRoZSB0cmFjayBpbiB0aGUgZ3JvdXAgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCAoaWYgYW55KS4K
QEAgLTQwMDYsMTAgKzQwMDYsMTAgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRTZWxlY3Rl
ZFRleHRUcgogICAgICAgICAgICAgdHJhY2tMaXN0LT5pdGVtKGkpLT5zZXRNb2RlKFRleHRUcmFj
azo6ZGlzYWJsZWRLZXl3b3JkKCkpOwogICAgIH0KIAotICAgIENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMqIGNhcHRpb25QcmVmZXJlbmNlcyA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkgOiAwOwotICAgIGlmICghY2FwdGlv
blByZWZlcmVuY2VzKQorICAgIGlmICghZG9jdW1lbnQoKS5wYWdlKCkpCiAgICAgICAgIHJldHVy
bjsKIAorICAgIGF1dG8mIGNhcHRpb25QcmVmZXJlbmNlcyA9IGRvY3VtZW50KCkucGFnZSgpLT5n
cm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOwogICAgIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6
OkNhcHRpb25EaXNwbGF5TW9kZSBkaXNwbGF5TW9kZTsKICAgICBpZiAodHJhY2tUb1NlbGVjdCA9
PSBUZXh0VHJhY2s6OmNhcHRpb25NZW51T2ZmSXRlbSgpKQogICAgICAgICBkaXNwbGF5TW9kZSA9
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkZvcmNlZE9ubHk7CkBAIC00MDE4LDEwICs0MDE4LDEw
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0VHIKICAgICBlbHNlIHsK
ICAgICAgICAgZGlzcGxheU1vZGUgPSBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpBbHdheXNPbjsK
ICAgICAgICAgaWYgKHRyYWNrVG9TZWxlY3QtPmxhbmd1YWdlKCkubGVuZ3RoKCkpCi0gICAgICAg
ICAgICBjYXB0aW9uUHJlZmVyZW5jZXMtPnNldFByZWZlcnJlZExhbmd1YWdlKHRyYWNrVG9TZWxl
Y3QtPmxhbmd1YWdlKCkpOworICAgICAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLnNldFByZWZl
cnJlZExhbmd1YWdlKHRyYWNrVG9TZWxlY3QtPmxhbmd1YWdlKCkpOwogICAgIH0KIAotICAgIGNh
cHRpb25QcmVmZXJlbmNlcy0+c2V0Q2FwdGlvbkRpc3BsYXlNb2RlKGRpc3BsYXlNb2RlKTsKKyAg
ICBjYXB0aW9uUHJlZmVyZW5jZXMuc2V0Q2FwdGlvbkRpc3BsYXlNb2RlKGRpc3BsYXlNb2RlKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tzKCkKQEAgLTU3
MjMsNyArNTcyMyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y2FwdGlvblByZWZlcmVuY2UK
ICAgICBpZiAoIWRvY3VtZW50KCkucGFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBDYXB0
aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgZGlzcGxheU1vZGUgPSBkb2N1
bWVudCgpLnBhZ2UoKS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS0+Y2FwdGlvbkRpc3Bs
YXlNb2RlKCk7CisgICAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2Rl
IGRpc3BsYXlNb2RlID0gZG9jdW1lbnQoKS5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVu
Y2VzKCkuY2FwdGlvbkRpc3BsYXlNb2RlKCk7CiAgICAgaWYgKG1fY2FwdGlvbkRpc3BsYXlNb2Rl
ID09IGRpc3BsYXlNb2RlKQogICAgICAgICByZXR1cm47CiAKQEAgLTYxNjUsOSArNjE2NSw4IEBA
IFN0cmluZyBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclNvdXIKIAogVmVjdG9yPFN0cmlu
Zz4gSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJQcmVmZXJyZWRBdWRpb0NoYXJhY3Rlcmlz
dGljcygpIGNvbnN0CiB7Ci0gICAgUGFnZSogcGFnZSA9IGRvY3VtZW50KCkucGFnZSgpOwotICAg
IGlmIChDYXB0aW9uVXNlclByZWZlcmVuY2VzKiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBwYWdlID8g
cGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKSA6IG51bGxwdHIpCi0gICAgICAgIHJl
dHVybiBjYXB0aW9uUHJlZmVyZW5jZXMtPnByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWNzKCk7
CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKSkKKyAgICAgICAgcmV0dXJu
IHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkucHJlZmVycmVkQXVkaW9DaGFyYWN0
ZXJpc3RpY3MoKTsKICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNw
cAkocmV2aXNpb24gMTk2MDY3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MjgsNyArNzI4LDcgQEAgdm9p
ZCBNZWRpYUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdAogCiAgICAgaWYgKCFkb2N1bWVu
dCgpLnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwotICAgIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6
OkNhcHRpb25EaXNwbGF5TW9kZSBkaXNwbGF5TW9kZSA9IGRvY3VtZW50KCkucGFnZSgpLT5ncm91
cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLT5jYXB0aW9uRGlzcGxheU1vZGUoKTsKKyAgICBDYXB0
aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgZGlzcGxheU1vZGUgPSBkb2N1
bWVudCgpLnBhZ2UoKS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5jYXB0aW9uRGlzcGxh
eU1vZGUoKTsKIAogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHBhcmVudE1l
ZGlhRWxlbWVudCh0aGlzKTsKICAgICBpZiAoIW1lZGlhRWxlbWVudCkKQEAgLTgwMiw4ICs4MDIs
OCBAQCB2b2lkIE1lZGlhQ29udHJvbENsb3NlZENhcHRpb25zVHJhY2tMaXN0CiAKICAgICBpZiAo
IWRvY3VtZW50KCkucGFnZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlcyogY2FwdGlvblByZWZlcmVuY2VzID0gZG9jdW1lbnQoKS5wYWdlKCktPmdyb3VwKCku
Y2FwdGlvblByZWZlcmVuY2VzKCk7Ci0gICAgVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2s+PiB0cmFj
a3NGb3JNZW51ID0gY2FwdGlvblByZWZlcmVuY2VzLT5zb3J0ZWRUcmFja0xpc3RGb3JNZW51KHRy
YWNrTGlzdCk7CisgICAgYXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gZG9jdW1lbnQoKS5wYWdl
KCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCk7CisgICAgVmVjdG9yPFJlZlB0cjxUZXh0
VHJhY2s+PiB0cmFja3NGb3JNZW51ID0gY2FwdGlvblByZWZlcmVuY2VzLnNvcnRlZFRyYWNrTGlz
dEZvck1lbnUodHJhY2tMaXN0KTsKIAogICAgIFJlZjxFbGVtZW50PiBjYXB0aW9uc0hlYWRlciA9
IGRvY3VtZW50KCkuY3JlYXRlRWxlbWVudChoM1RhZywgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAg
ICAgY2FwdGlvbnNIZWFkZXItPmFwcGVuZENoaWxkKGRvY3VtZW50KCkuY3JlYXRlVGV4dE5vZGUo
dGV4dFRyYWNrU3VidGl0bGVzVGV4dCgpKSk7CkBAIC04MTIsNyArODEyLDcgQEAgdm9pZCBNZWRp
YUNvbnRyb2xDbG9zZWRDYXB0aW9uc1RyYWNrTGlzdAogCiAgICAgZm9yIChhdXRvJiB0ZXh0VHJh
Y2sgOiB0cmFja3NGb3JNZW51KSB7CiAgICAgICAgIFJlZjxFbGVtZW50PiBtZW51SXRlbSA9IGRv
Y3VtZW50KCkuY3JlYXRlRWxlbWVudChsaVRhZywgQVNTRVJUX05PX0VYQ0VQVElPTik7Ci0gICAg
ICAgIG1lbnVJdGVtLT5hcHBlbmRDaGlsZChkb2N1bWVudCgpLmNyZWF0ZVRleHROb2RlKGNhcHRp
b25QcmVmZXJlbmNlcy0+ZGlzcGxheU5hbWVGb3JUcmFjayh0ZXh0VHJhY2suZ2V0KCkpKSk7Cisg
ICAgICAgIG1lbnVJdGVtLT5hcHBlbmRDaGlsZChkb2N1bWVudCgpLmNyZWF0ZVRleHROb2RlKGNh
cHRpb25QcmVmZXJlbmNlcy5kaXNwbGF5TmFtZUZvclRyYWNrKHRleHRUcmFjay5nZXQoKSkpKTsK
ICAgICAgICAgY2FwdGlvbnNNZW51TGlzdC0+YXBwZW5kQ2hpbGQobWVudUl0ZW0uY29weVJlZigp
KTsKICAgICAgICAgbV9tZW51SXRlbXMuYXBwZW5kKG1lbnVJdGVtLnB0cigpKTsKICAgICAgICAg
bV9tZW51VG9UcmFja01hcC5hZGQobWVudUl0ZW0ucHRyKCksIHRleHRUcmFjayk7CkBAIC0xMjE5
LDcgKzEyMTksNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGZsb2F0IHNtYWxsZXN0RGltZW5zaW9uID0gc3RkOjptaW4o
bV92aWRlb0Rpc3BsYXlTaXplLnNpemUoKS5oZWlnaHQoKSwgbV92aWRlb0Rpc3BsYXlTaXplLnNp
emUoKS53aWR0aCgpKTsKLSAgICBmbG9hdCBmb250U2NhbGUgPSBkb2N1bWVudCgpLnBhZ2UoKS0+
Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS0+Y2FwdGlvbkZvbnRTaXplU2NhbGVBbmRJbXBv
cnRhbmNlKG1fZm9udFNpemVJc0ltcG9ydGFudCk7CisgICAgZmxvYXQgZm9udFNjYWxlID0gZG9j
dW1lbnQoKS5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkuY2FwdGlvbkZvbnRT
aXplU2NhbGVBbmRJbXBvcnRhbmNlKG1fZm9udFNpemVJc0ltcG9ydGFudCk7CiAgICAgbV9mb250
U2l6ZSA9IGxyb3VuZGYoc21hbGxlc3REaW1lbnNpb24gKiBmb250U2NhbGUpOwogCiAgICAgZm9y
IChhdXRvJiBhY3RpdmVDdWUgOiBtZWRpYUVsZW1lbnQtPmN1cnJlbnRseUFjdGl2ZUN1ZXMoKSkg
ewpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAkocmV2aXNpb24gMTk2MDY3KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQs
NyArMTE0LDcgQEAgdm9pZCBQYWdlR3JvdXA6OmNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZQogICAg
IFBhZ2VDYWNoZTo6c2luZ2xldG9uKCkubWFya1BhZ2VzRm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hh
bmdlZCgpOwogfQogCi1DYXB0aW9uVXNlclByZWZlcmVuY2VzKiBQYWdlR3JvdXA6OmNhcHRpb25Q
cmVmZXJlbmNlcygpCitDYXB0aW9uVXNlclByZWZlcmVuY2VzJiBQYWdlR3JvdXA6OmNhcHRpb25Q
cmVmZXJlbmNlcygpCiB7CiAgICAgaWYgKCFtX2NhcHRpb25QcmVmZXJlbmNlcykgewogI2lmIFBM
QVRGT1JNKE1BQykgfHwgSEFWRShNRURJQV9BQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKQEAgLTEy
NCw3ICsxMjQsNyBAQCBDYXB0aW9uVXNlclByZWZlcmVuY2VzKiBQYWdlR3JvdXA6OmNhcHRpCiAj
ZW5kaWYKICAgICB9CiAKLSAgICByZXR1cm4gbV9jYXB0aW9uUHJlZmVyZW5jZXMuZ2V0KCk7Cisg
ICAgcmV0dXJuICptX2NhcHRpb25QcmVmZXJlbmNlcy5nZXQoKTsKIH0KICNlbmRpZgogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgJKHJldmlzaW9uIDE5NjA2NykKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwLmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKTsKLSAgICAgICAgV0VC
Q09SRV9FWFBPUlQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyogY2FwdGlvblByZWZlcmVuY2VzKCk7
CisgICAgICAgIFdFQkNPUkVfRVhQT1JUIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMmIGNhcHRpb25Q
cmVmZXJlbmNlcygpOwogI2VuZGlmCiAKICAgICBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvV2ViVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViVmlkZW9GdWxs
c2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQubW0JKHJldmlzaW9uIDE5NjA2NykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9FbGVtZW50
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMTMsMTEgKzMxMywxMSBAQCB2b2lkIFdlYlZpZGVvRnVs
bHNjcmVlbk1vZGVsVmlkZW9FbGVtZW50CiAgICAgV1RGOjpBdG9taWNTdHJpbmcgZGlzcGxheU1v
ZGUgPSBtX3ZpZGVvRWxlbWVudC0+bWVkaWFDb250cm9sc0hvc3QoKS0+Y2FwdGlvbkRpc3BsYXlN
b2RlKCk7CiAgICAgVGV4dFRyYWNrKiBvZmZJdGVtID0gbV92aWRlb0VsZW1lbnQtPm1lZGlhQ29u
dHJvbHNIb3N0KCktPmNhcHRpb25NZW51T2ZmSXRlbSgpOwogICAgIFRleHRUcmFjayogYXV0b21h
dGljSXRlbSA9IG1fdmlkZW9FbGVtZW50LT5tZWRpYUNvbnRyb2xzSG9zdCgpLT5jYXB0aW9uTWVu
dUF1dG9tYXRpY0l0ZW0oKTsKLSAgICBDYXB0aW9uVXNlclByZWZlcmVuY2VzJiBjYXB0aW9uUHJl
ZmVyZW5jZXMgPSAqbV92aWRlb0VsZW1lbnQtPmRvY3VtZW50KCkucGFnZSgpLT5ncm91cCgpLmNh
cHRpb25QcmVmZXJlbmNlcygpOwotICAgIG1fbGVnaWJsZVRyYWNrc0Zvck1lbnUgPSBjYXB0aW9u
UHJlZmVyZW5jZXMuc29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0cmFja0xpc3QpOwogCisgICAgYXV0
byYgY2FwdGlvblByZWZlcmVuY2VzID0gbV92aWRlb0VsZW1lbnQtPmRvY3VtZW50KCkucGFnZSgp
LT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOworICAgIG1fbGVnaWJsZVRyYWNrc0Zvck1l
bnUgPSBjYXB0aW9uUHJlZmVyZW5jZXMuc29ydGVkVHJhY2tMaXN0Rm9yTWVudSh0cmFja0xpc3Qp
OwogICAgIG1fYXVkaW9UcmFja3NGb3JNZW51ID0gY2FwdGlvblByZWZlcmVuY2VzLnNvcnRlZFRy
YWNrTGlzdEZvck1lbnUoYXVkaW9UcmFja0xpc3QpOwotICAgIAorCiAgICAgVmVjdG9yPFN0cmlu
Zz4gYXVkaW9UcmFja0Rpc3BsYXlOYW1lczsKICAgICB1aW50NjRfdCBzZWxlY3RlZEF1ZGlvSW5k
ZXggPSAwOwogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCShyZXZpc2lvbiAxOTYwNjcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTgsMTQgKzM5OCwxNCBAQCB2
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZERpc3BsYXlUCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQogICAgIGlmICghcGFnZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlcyogY2FwdGlvblByZWZlcmVuY2VzID0gcGFnZSgpLT5ncm91cCgpLmNhcHRp
b25QcmVmZXJlbmNlcygpOwogCisgICAgYXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gcGFnZSgp
LT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOwogICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShraW5kLCAic3VidGl0bGVzIikpCi0gICAgICAgIGNhcHRpb25QcmVmZXJl
bmNlcy0+c2V0VXNlclByZWZlcnNTdWJ0aXRsZXMoZW5hYmxlZCk7CisgICAgICAgIGNhcHRpb25Q
cmVmZXJlbmNlcy5zZXRVc2VyUHJlZmVyc1N1YnRpdGxlcyhlbmFibGVkKTsKICAgICBlbHNlIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShraW5kLCAiY2FwdGlvbnMiKSkKLSAgICAg
ICAgY2FwdGlvblByZWZlcmVuY2VzLT5zZXRVc2VyUHJlZmVyc0NhcHRpb25zKGVuYWJsZWQpOwor
ICAgICAgICBjYXB0aW9uUHJlZmVyZW5jZXMuc2V0VXNlclByZWZlcnNDYXB0aW9ucyhlbmFibGVk
KTsKICAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShraW5kLCAidGV4
dGRlc2NyaXB0aW9ucyIpKQotICAgICAgICBjYXB0aW9uUHJlZmVyZW5jZXMtPnNldFVzZXJQcmVm
ZXJzVGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKKyAgICAgICAgY2FwdGlvblByZWZlcmVuY2Vz
LnNldFVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsKICAgICBlbHNlCiAgICAg
ICAgIGVjID0gU1lOVEFYX0VSUjsKICNlbHNlCkBAIC00MjEsMTQgKzQyMSwxNCBAQCBib29sIElu
dGVybmFsU2V0dGluZ3M6OnNob3VsZERpc3BsYXlUcmFjCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNL
KQogICAgIGlmICghcGFnZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlcyogY2FwdGlvblByZWZlcmVuY2VzID0gcGFnZSgpLT5ncm91cCgpLmNhcHRp
b25QcmVmZXJlbmNlcygpOwogCisgICAgYXV0byYgY2FwdGlvblByZWZlcmVuY2VzID0gcGFnZSgp
LT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOwogICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShraW5kLCAic3VidGl0bGVzIikpCi0gICAgICAgIHJldHVybiBjYXB0aW9u
UHJlZmVyZW5jZXMtPnVzZXJQcmVmZXJzU3VidGl0bGVzKCk7CisgICAgICAgIHJldHVybiBjYXB0
aW9uUHJlZmVyZW5jZXMudXNlclByZWZlcnNTdWJ0aXRsZXMoKTsKICAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2luZCwgImNhcHRpb25zIikpCi0gICAgICAgIHJldHVybiBj
YXB0aW9uUHJlZmVyZW5jZXMtPnVzZXJQcmVmZXJzQ2FwdGlvbnMoKTsKKyAgICAgICAgcmV0dXJu
IGNhcHRpb25QcmVmZXJlbmNlcy51c2VyUHJlZmVyc0NhcHRpb25zKCk7CiAgICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGtpbmQsICJ0ZXh0ZGVzY3JpcHRpb25zIikpCi0gICAg
ICAgIHJldHVybiBjYXB0aW9uUHJlZmVyZW5jZXMtPnVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9u
cygpOworICAgICAgICByZXR1cm4gY2FwdGlvblByZWZlcmVuY2VzLnVzZXJQcmVmZXJzVGV4dERl
c2NyaXB0aW9ucygpOwogCiAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgIHJldHVybiBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDE5NjA2NykK
KysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzc1LDggKzM3NSw4IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXNldFRvQ29uc2lzdGVudFN0YXRl
KFAKICAgICBXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGZhbHNl
KTsKICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkuc2V0UHJvZmlsZXJFbmFibGVkKGZh
bHNlKTsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgcGFnZS0+Z3JvdXAoKS5jYXB0aW9u
UHJlZmVyZW5jZXMoKS0+c2V0Q2FwdGlvbnNTdHlsZVNoZWV0T3ZlcnJpZGUoZW1wdHlTdHJpbmco
KSk7Ci0gICAgcGFnZS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS0+c2V0VGVzdGluZ01v
ZGUoZmFsc2UpOworICAgIHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkuc2V0Q2Fw
dGlvbnNTdHlsZVNoZWV0T3ZlcnJpZGUoZW1wdHlTdHJpbmcoKSk7CisgICAgcGFnZS0+Z3JvdXAo
KS5jYXB0aW9uUHJlZmVyZW5jZXMoKS5zZXRUZXN0aW5nTW9kZShmYWxzZSk7CiAjZW5kaWYKICAg
ICBpZiAoIXBhZ2UtPm1haW5GcmFtZSgpLmVkaXRvcigpLmlzQ29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkKCkpCiAgICAgICAgIHBhZ2UtPm1haW5GcmFtZSgpLmVkaXRvcigpLnRvZ2dsZUNv
bnRpbnVvdXNTcGVsbENoZWNraW5nKCk7CkBAIC00MDcsNyArNDA3LDcgQEAgSW50ZXJuYWxzOjpJ
bnRlcm5hbHMoRG9jdW1lbnQqIGRvY3VtZW50KQogewogI2lmIEVOQUJMRShWSURFT19UUkFDSykK
ICAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQtPnBhZ2UoKSkKLSAgICAgICAgZG9jdW1lbnQt
PnBhZ2UoKS0+Z3JvdXAoKS5jYXB0aW9uUHJlZmVyZW5jZXMoKS0+c2V0VGVzdGluZ01vZGUodHJ1
ZSk7CisgICAgICAgIGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2Vz
KCkuc2V0VGVzdGluZ01vZGUodHJ1ZSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCkBAIC0xNDY4LDcgKzE0NjgsNyBAQCBWZWN0b3I8U3RyaW5nPiBJbnRlcm5hbHM6OnVzZXJQ
cmVmZXJyZWRBCiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnBhZ2UoKSkKICAgICAg
ICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAg
IHJldHVybiBkb2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLT5w
cmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGljcygpOworICAgIHJldHVybiBkb2N1bWVudC0+cGFn
ZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLnByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVy
aXN0aWNzKCk7CiAjZWxzZQogICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwogI2VuZGlmCkBA
IC0xNDgwLDcgKzE0ODAsNyBAQCB2b2lkIEludGVybmFsczo6c2V0VXNlclByZWZlcnJlZEF1ZGlv
Q2hhCiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnBhZ2UoKSkKICAgICAgICAgcmV0
dXJuOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKLSAgICBkb2N1bWVudC0+cGFnZSgpLT5ncm91
cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLT5zZXRQcmVmZXJyZWRBdWRpb0NoYXJhY3RlcmlzdGlj
KGNoYXJhY3RlcmlzdGljKTsKKyAgICBkb2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmNhcHRpb25Q
cmVmZXJlbmNlcygpLnNldFByZWZlcnJlZEF1ZGlvQ2hhcmFjdGVyaXN0aWMoY2hhcmFjdGVyaXN0
aWMpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oY2hhcmFjdGVyaXN0aWMpOwogI2VuZGlmCkBA
IC0yNzQzLDcgKzI3NDMsNyBAQCBTdHJpbmcgSW50ZXJuYWxzOjpjYXB0aW9uc1N0eWxlU2hlZXRP
dmVyCiAgICAgfQogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIHJldHVybiBkb2N1bWVu
dC0+cGFnZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLT5jYXB0aW9uc1N0eWxlU2hl
ZXRPdmVycmlkZSgpOworICAgIHJldHVybiBkb2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmNhcHRp
b25QcmVmZXJlbmNlcygpLmNhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKCk7CiAjZWxzZQogICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwogI2VuZGlmCkBAIC0yNzU4LDcgKzI3NTgsNyBAQCB2b2lk
IEludGVybmFsczo6c2V0Q2FwdGlvbnNTdHlsZVNoZWV0T3ZlCiAgICAgfQogCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQotICAgIGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZl
cmVuY2VzKCktPnNldENhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKG92ZXJyaWRlKTsKKyAgICBk
b2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLnNldENhcHRpb25z
U3R5bGVTaGVldE92ZXJyaWRlKG92ZXJyaWRlKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG92
ZXJyaWRlKTsKICNlbmRpZgpAQCAtMjc3Myw3ICsyNzczLDcgQEAgdm9pZCBJbnRlcm5hbHM6OnNl
dFByaW1hcnlBdWRpb1RyYWNrTGFuZwogICAgIH0KIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykK
LSAgICBkb2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpLT5zZXRQ
cmltYXJ5QXVkaW9UcmFja0xhbmd1YWdlT3ZlcnJpZGUobGFuZ3VhZ2UpOworICAgIGRvY3VtZW50
LT5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCkuc2V0UHJpbWFyeUF1ZGlvVHJh
Y2tMYW5ndWFnZU92ZXJyaWRlKGxhbmd1YWdlKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGxh
bmd1YWdlKTsKICNlbmRpZgpAQCAtMjc4OCwxNiArMjc4OCwxNiBAQCB2b2lkIEludGVybmFsczo6
c2V0Q2FwdGlvbkRpc3BsYXlNb2RlKGNvCiAgICAgfQogICAgIAogI2lmIEVOQUJMRShWSURFT19U
UkFDSykKLSAgICBDYXB0aW9uVXNlclByZWZlcmVuY2VzKiBjYXB0aW9uUHJlZmVyZW5jZXMgPSBk
b2N1bWVudC0+cGFnZSgpLT5ncm91cCgpLmNhcHRpb25QcmVmZXJlbmNlcygpOworICAgIGF1dG8m
IGNhcHRpb25QcmVmZXJlbmNlcyA9IGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuY2FwdGlvblBy
ZWZlcmVuY2VzKCk7CiAgICAgCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KG1vZGUsICJhdXRvbWF0aWMiKSkKLSAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLT5zZXRDYXB0
aW9uRGlzcGxheU1vZGUoQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6QXV0b21hdGljKTsKKyAgICAg
ICAgY2FwdGlvblByZWZlcmVuY2VzLnNldENhcHRpb25EaXNwbGF5TW9kZShDYXB0aW9uVXNlclBy
ZWZlcmVuY2VzOjpBdXRvbWF0aWMpOwogICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKG1vZGUsICJmb3JjZWRvbmx5IikpCi0gICAgICAgIGNhcHRpb25QcmVmZXJlbmNl
cy0+c2V0Q2FwdGlvbkRpc3BsYXlNb2RlKENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkZvcmNlZE9u
bHkpOworICAgICAgICBjYXB0aW9uUHJlZmVyZW5jZXMuc2V0Q2FwdGlvbkRpc3BsYXlNb2RlKENh
cHRpb25Vc2VyUHJlZmVyZW5jZXM6OkZvcmNlZE9ubHkpOwogICAgIGVsc2UgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG1vZGUsICJhbHdheXNvbiIpKQotICAgICAgICBjYXB0aW9u
UHJlZmVyZW5jZXMtPnNldENhcHRpb25EaXNwbGF5TW9kZShDYXB0aW9uVXNlclByZWZlcmVuY2Vz
OjpBbHdheXNPbik7CisgICAgICAgIGNhcHRpb25QcmVmZXJlbmNlcy5zZXRDYXB0aW9uRGlzcGxh
eU1vZGUoQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6QWx3YXlzT24pOwogICAgIGVsc2UgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG1vZGUsICJtYW51YWwiKSkKLSAgICAgICAgY2Fw
dGlvblByZWZlcmVuY2VzLT5zZXRDYXB0aW9uRGlzcGxheU1vZGUoQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6TWFudWFsKTsKKyAgICAgICAgY2FwdGlvblByZWZlcmVuY2VzLnNldENhcHRpb25EaXNw
bGF5TW9kZShDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpNYW51YWwpOwogICAgIGVsc2UKICAgICAg
ICAgZWMgPSBTWU5UQVhfRVJSOwogI2Vsc2UK
</data>
<flag name="review"
          id="295504"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
      

    </bug>

</bugzilla>