<?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>177258</bug_id>
          
          <creation_ts>2017-09-20 11:51:21 -0700</creation_ts>
          <short_desc>Clean up content extensions code in preparation for more actions with string arguments</short_desc>
          <delta_ts>2017-09-27 12:22:02 -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>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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1350885</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-20 11:51:21 -0700</bug_when>
    <thetext>Clean up content extensions code in preparation for more actions with string arguments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350886</commentid>
    <comment_count>1</comment_count>
      <attachid>321339</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-20 11:52:53 -0700</bug_when>
    <thetext>Created attachment 321339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350904</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-20 12:38:13 -0700</bug_when>
    <thetext>http://trac.webkit.org/r222277</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353332</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:22:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693135&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321339</attachid>
            <date>2017-09-20 11:52:53 -0700</date>
            <delta_ts>2017-09-20 12:30:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177258-20170920115253.patch</filename>
            <type>text/plain</type>
            <size>14169</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjI3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA5LTIwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW4gdXAg
Y29udGVudCBleHRlbnNpb25zIGNvZGUgaW4gcHJlcGFyYXRpb24gZm9yIG1vcmUgYWN0aW9ucyB3
aXRoIHN0cmluZyBhcmd1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NzI1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvdXIuICBDb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNv
bXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpzZXJpYWxp
emVTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OnJlc29sdmVQ
ZW5kaW5nRGlzcGxheU5vbmVBY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRl
bnNpb25zOjpzZXJpYWxpemVBY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRl
bnNpb25zOjpzZXJpYWxpemVTZWxlY3Rvcik6IERlbGV0ZWQuCisgICAgICAgICogY29udGVudGV4
dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50RXh0ZW5zaW9uczo6bG9hZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
RXh0ZW5zaW9uczo6bG9hZFJ1bGUpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25SdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25z
OjpkZXNlcmlhbGl6ZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9u
czo6QWN0aW9uOjpkZXNlcmlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5z
aW9uczo6QWN0aW9uOjpkZXNlcmlhbGl6ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dEV4dGVuc2lvbnM6OkFjdGlvbjo6c2VyaWFsaXplZExlbmd0aCk6CisgICAgICAgICogY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRFeHRlbnNpb25zOjpBY3Rpb246OkFjdGlvbik6CisKIDIwMTctMDktMjAgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3dpdGNoIFBlZXJDb25u
ZWN0aW9uIHRvIHJlbGVhc2UgbG9nZ2luZwpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3Bw
CShyZXZpc2lvbiAyMjIxOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9D
b250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwyNSArNDgs
MjMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9ucyB7
CiAKLXN0YXRpYyB2b2lkIHNlcmlhbGl6ZVNlbGVjdG9yKFZlY3RvcjxTZXJpYWxpemVkQWN0aW9u
Qnl0ZT4mIGFjdGlvbnMsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3IpCitzdGF0aWMgdm9pZCBzZXJp
YWxpemVTdHJpbmcoVmVjdG9yPFNlcmlhbGl6ZWRBY3Rpb25CeXRlPiYgYWN0aW9ucywgY29uc3Qg
U3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgLy8gQXBwZW5kIGFjdGlvbiB0eXBlICgxIGJ5dGUpLgot
ICAgIGFjdGlvbnMuYXBwZW5kKHN0YXRpY19jYXN0PFNlcmlhbGl6ZWRBY3Rpb25CeXRlPihBY3Rp
b25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKSk7CiAgICAgLy8gQXBwZW5kIFNlbGVjdG9y
IGxlbmd0aCAoNCBieXRlcykuCi0gICAgdW5zaWduZWQgc2VsZWN0b3JMZW5ndGggPSBzZWxlY3Rv
ci5sZW5ndGgoKTsKLSAgICBhY3Rpb25zLmdyb3coYWN0aW9ucy5zaXplKCkgKyBzaXplb2YodW5z
aWduZWQpKTsKLSAgICAqcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCo+KCZhY3Rpb25zW2FjdGlv
bnMuc2l6ZSgpIC0gc2l6ZW9mKHVuc2lnbmVkKV0pID0gc2VsZWN0b3JMZW5ndGg7Ci0gICAgYm9v
bCB3aWRlQ2hhcmFjdGVycyA9ICFzZWxlY3Rvci5pczhCaXQoKTsKKyAgICB1aW50MzJfdCBzdHJp
bmdMZW5ndGggPSBzdHJpbmcubGVuZ3RoKCk7CisgICAgYWN0aW9ucy5ncm93KGFjdGlvbnMuc2l6
ZSgpICsgc2l6ZW9mKHVpbnQzMl90KSk7CisgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3Qq
PigmYWN0aW9uc1thY3Rpb25zLnNpemUoKSAtIHNpemVvZih1aW50MzJfdCldKSA9IHN0cmluZ0xl
bmd0aDsKKyAgICBib29sIHdpZGVDaGFyYWN0ZXJzID0gIXN0cmluZy5pczhCaXQoKTsKICAgICBh
Y3Rpb25zLmFwcGVuZCh3aWRlQ2hhcmFjdGVycyk7CiAgICAgLy8gQXBwZW5kIFNlbGVjdG9yLgog
ICAgIGlmICh3aWRlQ2hhcmFjdGVycykgewotICAgICAgICB1bnNpZ25lZCBzdGFydEluZGV4ID0g
YWN0aW9ucy5zaXplKCk7Ci0gICAgICAgIGFjdGlvbnMuZ3JvdyhhY3Rpb25zLnNpemUoKSArIHNp
emVvZihVQ2hhcikgKiBzZWxlY3Rvckxlbmd0aCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBzZWxlY3Rvckxlbmd0aDsgKytpKQotICAgICAgICAgICAgKnJlaW50ZXJwcmV0X2Nh
c3Q8VUNoYXIqPigmYWN0aW9uc1tzdGFydEluZGV4ICsgaSAqIHNpemVvZihVQ2hhcildKSA9IHNl
bGVjdG9yW2ldOworICAgICAgICB1aW50MzJfdCBzdGFydEluZGV4ID0gYWN0aW9ucy5zaXplKCk7
CisgICAgICAgIGFjdGlvbnMuZ3JvdyhhY3Rpb25zLnNpemUoKSArIHNpemVvZihVQ2hhcikgKiBz
dHJpbmdMZW5ndGgpOworICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgc3RyaW5nTGVu
Z3RoOyArK2kpCisgICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxVQ2hhcio+KCZhY3Rpb25z
W3N0YXJ0SW5kZXggKyBpICogc2l6ZW9mKFVDaGFyKV0pID0gc3RyaW5nW2ldOwogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzZWxlY3Rvckxlbmd0aDsgKytp
KQotICAgICAgICAgICAgYWN0aW9ucy5hcHBlbmQoc2VsZWN0b3JbaV0pOworICAgICAgICBmb3Ig
KHVpbnQzMl90IGkgPSAwOyBpIDwgc3RyaW5nTGVuZ3RoOyArK2kpCisgICAgICAgICAgICBhY3Rp
b25zLmFwcGVuZChzdHJpbmdbaV0pOwogICAgIH0KIH0KIApAQCAtNzQsNyArNzIsNyBAQCBzdHJ1
Y3QgUGVuZGluZ0Rpc3BsYXlOb25lQWN0aW9ucyB7CiAgICAgVmVjdG9yPFN0cmluZz4gc2VsZWN0
b3JzOwogICAgIFZlY3Rvcjx1bnNpZ25lZD4gY2xpZW50TG9jYXRpb25zOwogfTsKLXR5cGVkZWYg
SGFzaE1hcDxUcmlnZ2VyLCBQZW5kaW5nRGlzcGxheU5vbmVBY3Rpb25zLCBUcmlnZ2VySGFzaCwg
VHJpZ2dlckhhc2hUcmFpdHM+IFBlbmRpbmdEaXNwbGF5Tm9uZUFjdGlvbnNNYXA7Cit1c2luZyBQ
ZW5kaW5nRGlzcGxheU5vbmVBY3Rpb25zTWFwID0gSGFzaE1hcDxUcmlnZ2VyLCBQZW5kaW5nRGlz
cGxheU5vbmVBY3Rpb25zLCBUcmlnZ2VySGFzaCwgVHJpZ2dlckhhc2hUcmFpdHM+OwogCiBzdGF0
aWMgdm9pZCByZXNvbHZlUGVuZGluZ0Rpc3BsYXlOb25lQWN0aW9ucyhWZWN0b3I8U2VyaWFsaXpl
ZEFjdGlvbkJ5dGU+JiBhY3Rpb25zLCBWZWN0b3I8dW5zaWduZWQ+JiBhY3Rpb25Mb2NhdGlvbnMs
IFBlbmRpbmdEaXNwbGF5Tm9uZUFjdGlvbnNNYXAmIHBlbmRpbmdEaXNwbGF5Tm9uZUFjdGlvbnNN
YXApCiB7CkBAIC04OSw3ICs4Nyw4IEBAIHN0YXRpYyB2b2lkIHJlc29sdmVQZW5kaW5nRGlzcGxh
eU5vbmVBY3QKICAgICAgICAgfQogCiAgICAgICAgIHVuc2lnbmVkIGFjdGlvbkxvY2F0aW9uID0g
YWN0aW9ucy5zaXplKCk7Ci0gICAgICAgIHNlcmlhbGl6ZVNlbGVjdG9yKGFjdGlvbnMsIGNvbWJp
bmVkU2VsZWN0b3JzLnRvU3RyaW5nKCkpOworICAgICAgICBhY3Rpb25zLmFwcGVuZChzdGF0aWNf
Y2FzdDxTZXJpYWxpemVkQWN0aW9uQnl0ZT4oQWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5vbmVTZWxl
Y3RvcikpOworICAgICAgICBzZXJpYWxpemVTdHJpbmcoYWN0aW9ucywgY29tYmluZWRTZWxlY3Rv
cnMudG9TdHJpbmcoKSk7CiAgICAgICAgIGZvciAodW5zaWduZWQgY2xpZW50TG9jYXRpb24gOiBw
ZW5kaW5nQWN0aW9ucy5jbGllbnRMb2NhdGlvbnMpCiAgICAgICAgICAgICBhY3Rpb25Mb2NhdGlv
bnNbY2xpZW50TG9jYXRpb25dID0gYWN0aW9uTG9jYXRpb247CiAgICAgfQpAQCAtMTA0LDcgKzEw
Myw4IEBAIHN0YXRpYyBWZWN0b3I8dW5zaWduZWQ+IHNlcmlhbGl6ZUFjdGlvbnMKIAogICAgIC8v
IE9yZGVyIG9ubHkgbWF0dGVycyBiZWNhdXNlIG9mIElnbm9yZVByZXZpb3VzUnVsZXMuIEFsbCBv
dGhlciBpZGVudGljYWwgYWN0aW9ucyBjYW4gYmUgY29tYmluZWQgYmV0d2VlbiBlYWNoIElnbm9y
ZVByZXZpb3VzUnVsZXMKICAgICAvLyBhbmQgQ1NTRGlzcGxheU5vbmUgc3RyaW5ncyBjYW4gYmUg
Y29tYmluZWQgaWYgdGhlaXIgdHJpZ2dlcnMgYXJlIGlkZW50aWNhbC4KLSAgICB0eXBlZGVmIEhh
c2hNYXA8dWludDMyX3QsIHVpbnQzMl90LCBEZWZhdWx0SGFzaDx1aW50MzJfdD46Okhhc2gsIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBBY3Rpb25NYXA7Cisg
ICAgdXNpbmcgQWN0aW9uTG9jYXRpb24gPSB1aW50MzJfdDsKKyAgICB1c2luZyBBY3Rpb25NYXAg
PSBIYXNoTWFwPFJlc291cmNlRmxhZ3MsIEFjdGlvbkxvY2F0aW9uLCBEZWZhdWx0SGFzaDxSZXNv
dXJjZUZsYWdzPjo6SGFzaCwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxSZXNv
dXJjZUZsYWdzPj47CiAgICAgQWN0aW9uTWFwIGJsb2NrTG9hZEFjdGlvbnNNYXA7CiAgICAgQWN0
aW9uTWFwIGJsb2NrQ29va2llc0FjdGlvbnNNYXA7CiAgICAgUGVuZGluZ0Rpc3BsYXlOb25lQWN0
aW9uc01hcCBjc3NEaXNwbGF5Tm9uZUFjdGlvbnNNYXA7CkBAIC0xMzAsMTAgKzEzMCw5IEBAIHN0
YXRpYyBWZWN0b3I8dW5zaWduZWQ+IHNlcmlhbGl6ZUFjdGlvbnMKICAgICAgICAgaWYgKCFydWxl
LnRyaWdnZXIoKS5jb25kaXRpb25zLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgYWN0aW9uTG9j
YXRpb25zLmFwcGVuZChhY3Rpb25zLnNpemUoKSk7CiAKKyAgICAgICAgICAgIGFjdGlvbnMuYXBw
ZW5kKHN0YXRpY19jYXN0PFNlcmlhbGl6ZWRBY3Rpb25CeXRlPihhY3Rpb25UeXBlKSk7CiAgICAg
ICAgICAgICBpZiAoYWN0aW9uVHlwZSA9PSBBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVj
dG9yKQotICAgICAgICAgICAgICAgIHNlcmlhbGl6ZVNlbGVjdG9yKGFjdGlvbnMsIHJ1bGUuYWN0
aW9uKCkuc3RyaW5nQXJndW1lbnQoKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgYWN0aW9ucy5hcHBlbmQoc3RhdGljX2Nhc3Q8U2VyaWFsaXplZEFjdGlvbkJ5dGU+KGFjdGlv
blR5cGUpKTsKKyAgICAgICAgICAgICAgICBzZXJpYWxpemVTdHJpbmcoYWN0aW9ucywgcnVsZS5h
Y3Rpb24oKS5zdHJpbmdBcmd1bWVudCgpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRl
bnNpb25QYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL0NvbnRlbnRFeHRlbnNpb25QYXJzZXIuY3BwCShyZXZpc2lvbiAyMjIxOTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUGFyc2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDExICsyNTgsMTEgQEAgc3RhdGljIEV4cGVjdGVkPHN0
ZDo6b3B0aW9uYWw8QWN0aW9uPiwgcwogICAgIFN0cmluZyBhY3Rpb25UeXBlID0gYXNTdHJpbmco
dHlwZU9iamVjdCktPnZhbHVlKCZleGVjKTsKIAogICAgIGlmIChhY3Rpb25UeXBlID09ICJibG9j
ayIpCi0gICAgICAgIHJldHVybiB7e0FjdGlvblR5cGU6OkJsb2NrTG9hZH19OworICAgICAgICBy
ZXR1cm4ge3sgQWN0aW9uVHlwZTo6QmxvY2tMb2FkIH19OwogICAgIGlmIChhY3Rpb25UeXBlID09
ICJpZ25vcmUtcHJldmlvdXMtcnVsZXMiKQotICAgICAgICByZXR1cm4ge3tBY3Rpb25UeXBlOjpJ
Z25vcmVQcmV2aW91c1J1bGVzfX07CisgICAgICAgIHJldHVybiB7eyBBY3Rpb25UeXBlOjpJZ25v
cmVQcmV2aW91c1J1bGVzIH19OwogICAgIGlmIChhY3Rpb25UeXBlID09ICJibG9jay1jb29raWVz
IikKLSAgICAgICAgcmV0dXJuIHt7QWN0aW9uVHlwZTo6QmxvY2tDb29raWVzfX07CisgICAgICAg
IHJldHVybiB7eyBBY3Rpb25UeXBlOjpCbG9ja0Nvb2tpZXMgfX07CiAgICAgaWYgKGFjdGlvblR5
cGUgPT0gImNzcy1kaXNwbGF5LW5vbmUiKSB7CiAgICAgICAgIEpTVmFsdWUgc2VsZWN0b3IgPSBh
Y3Rpb25PYmplY3QuZ2V0KCZleGVjLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZleGVjLCAic2Vs
ZWN0b3IiKSk7CiAgICAgICAgIGlmICghc2VsZWN0b3IgfHwgc2NvcGUuZXhjZXB0aW9uKCkgfHwg
IXNlbGVjdG9yLmlzU3RyaW5nKCkpCkBAIC0yNzEsMTIgKzI3MSwxMiBAQCBzdGF0aWMgRXhwZWN0
ZWQ8c3RkOjpvcHRpb25hbDxBY3Rpb24+LCBzCiAgICAgICAgIFN0cmluZyBzZWxlY3RvclN0cmlu
ZyA9IGFzU3RyaW5nKHNlbGVjdG9yKS0+dmFsdWUoJmV4ZWMpOwogICAgICAgICBpZiAoIWlzVmFs
aWRDU1NTZWxlY3RvcihzZWxlY3RvclN0cmluZykpIHsKICAgICAgICAgICAgIC8vIFNraXAgcnVs
ZXMgd2l0aCBpbnZhbGlkIHNlbGVjdG9ycyB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZS4KLSAg
ICAgICAgICAgIHJldHVybiB7c3RkOjpudWxsb3B0fTsKKyAgICAgICAgICAgIHJldHVybiB7IHN0
ZDo6bnVsbG9wdCB9OwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiB7QWN0aW9uKEFjdGlvblR5
cGU6OkNTU0Rpc3BsYXlOb25lU2VsZWN0b3IsIHNlbGVjdG9yU3RyaW5nKX07CisgICAgICAgIHJl
dHVybiB7IEFjdGlvbihBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yLCBzZWxlY3Rv
clN0cmluZykgfTsKICAgICB9CiAgICAgaWYgKGFjdGlvblR5cGUgPT0gIm1ha2UtaHR0cHMiKQot
ICAgICAgICByZXR1cm4ge3tBY3Rpb25UeXBlOjpNYWtlSFRUUFN9fTsKKyAgICAgICAgcmV0dXJu
IHt7IEFjdGlvblR5cGU6Ok1ha2VIVFRQUyB9fTsKICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQo
Q29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OSW52YWxpZEFjdGlvblR5cGUpOwogfQogCkBAIC0y
OTEsOSArMjkxLDkgQEAgc3RhdGljIEV4cGVjdGVkPHN0ZDo6b3B0aW9uYWw8Q29udGVudEV4dAog
ICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoYWN0aW9uLmVycm9yKCkpOwogCiAgICAgaWYg
KGFjdGlvbi52YWx1ZSgpKQotICAgICAgICByZXR1cm4ge3t7V1RGTW92ZSh0cmlnZ2VyLnZhbHVl
KCkpLCBXVEZNb3ZlKGFjdGlvbi52YWx1ZSgpLnZhbHVlKCkpfX19OworICAgICAgICByZXR1cm4g
e3t7IFdURk1vdmUodHJpZ2dlci52YWx1ZSgpKSwgV1RGTW92ZShhY3Rpb24udmFsdWUoKS52YWx1
ZSgpKSB9fX07CiAKLSAgICByZXR1cm4ge3N0ZDo6bnVsbG9wdH07CisgICAgcmV0dXJuIHsgc3Rk
OjpudWxsb3B0IH07CiB9CiAKIHN0YXRpYyBFeHBlY3RlZDxWZWN0b3I8Q29udGVudEV4dGVuc2lv
blJ1bGU+LCBzdGQ6OmVycm9yX2NvZGU+IGxvYWRFbmNvZGVkUnVsZXMoRXhlY1N0YXRlJiBleGVj
LCBTdHJpbmcmJiBydWxlSlNPTikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5jcHAJKHJldmlzaW9uIDIy
MjE5MikKKysrIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNp
b25SdWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMzcgKzM5LDM5IEBAIENvbnRlbnRFeHRl
bnNpb25SdWxlOjpDb250ZW50RXh0ZW5zaW9uUnUKICAgICBBU1NFUlQoIW1fdHJpZ2dlci51cmxG
aWx0ZXIuaXNFbXB0eSgpKTsKIH0KIAorc3RhdGljIFN0cmluZyBkZXNlcmlhbGl6ZVN0cmluZyhj
b25zdCBTZXJpYWxpemVkQWN0aW9uQnl0ZSogYWN0aW9ucywgY29uc3QgdWludDMyX3QgYWN0aW9u
c0xlbmd0aCwgdWludDMyX3QgYmVnaW5JbmRleCkKK3sKKyAgICB1aW50MzJfdCBwcmVmaXhMZW5n
dGggPSBzaXplb2YodWludDMyX3QpICsgc2l6ZW9mKGJvb2wpOworICAgIHVpbnQzMl90IHN0cmlu
Z1N0YXJ0SW5kZXggPSBiZWdpbkluZGV4ICsgcHJlZml4TGVuZ3RoOworICAgIFJFTEVBU0VfQVNT
RVJUKGFjdGlvbnNMZW5ndGggPj0gc3RyaW5nU3RhcnRJbmRleCk7CisgICAgdWludDMyX3Qgc3Ry
aW5nTGVuZ3RoID0gKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDMyX3QqPigmYWN0aW9uc1ti
ZWdpbkluZGV4XSk7CisgICAgYm9vbCB3aWRlQ2hhcmFjdGVycyA9IGFjdGlvbnNbYmVnaW5JbmRl
eCArIHNpemVvZih1aW50MzJfdCldOworCisgICAgaWYgKHdpZGVDaGFyYWN0ZXJzKSB7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGFjdGlvbnNMZW5ndGggPj0gc3RyaW5nU3RhcnRJbmRleCArIHN0
cmluZ0xlbmd0aCAqIHNpemVvZihVQ2hhcikpOworICAgICAgICByZXR1cm4gU3RyaW5nKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPigmYWN0aW9uc1tzdHJpbmdTdGFydEluZGV4XSksIHN0
cmluZ0xlbmd0aCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUKGFjdGlvbnNMZW5ndGggPj0g
c3RyaW5nU3RhcnRJbmRleCArIHN0cmluZ0xlbmd0aCAqIHNpemVvZihMQ2hhcikpOworICAgIHJl
dHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCZhY3Rpb25zW3N0cmlu
Z1N0YXJ0SW5kZXhdKSwgc3RyaW5nTGVuZ3RoKTsKK30KKwogQWN0aW9uIEFjdGlvbjo6ZGVzZXJp
YWxpemUoY29uc3QgU2VyaWFsaXplZEFjdGlvbkJ5dGUqIGFjdGlvbnMsIGNvbnN0IHVpbnQzMl90
IGFjdGlvbnNMZW5ndGgsIHVpbnQzMl90IGxvY2F0aW9uKQogewogICAgIFJFTEVBU0VfQVNTRVJU
KGxvY2F0aW9uIDwgYWN0aW9uc0xlbmd0aCk7Ci0gICAgc3dpdGNoIChzdGF0aWNfY2FzdDxBY3Rp
b25UeXBlPihhY3Rpb25zW2xvY2F0aW9uXSkpIHsKKyAgICBhdXRvIGFjdGlvblR5cGUgPSBzdGF0
aWNfY2FzdDxBY3Rpb25UeXBlPihhY3Rpb25zW2xvY2F0aW9uXSk7CisgICAgc3dpdGNoIChhY3Rp
b25UeXBlKSB7CiAgICAgY2FzZSBBY3Rpb25UeXBlOjpCbG9ja0Nvb2tpZXM6Ci0gICAgICAgIHJl
dHVybiBBY3Rpb24oQWN0aW9uVHlwZTo6QmxvY2tDb29raWVzLCBsb2NhdGlvbik7CiAgICAgY2Fz
ZSBBY3Rpb25UeXBlOjpCbG9ja0xvYWQ6Ci0gICAgICAgIHJldHVybiBBY3Rpb24oQWN0aW9uVHlw
ZTo6QmxvY2tMb2FkLCBsb2NhdGlvbik7CiAgICAgY2FzZSBBY3Rpb25UeXBlOjpJZ25vcmVQcmV2
aW91c1J1bGVzOgotICAgICAgICByZXR1cm4gQWN0aW9uKEFjdGlvblR5cGU6Oklnbm9yZVByZXZp
b3VzUnVsZXMsIGxvY2F0aW9uKTsKICAgICBjYXNlIEFjdGlvblR5cGU6Ok1ha2VIVFRQUzoKLSAg
ICAgICAgcmV0dXJuIEFjdGlvbihBY3Rpb25UeXBlOjpNYWtlSFRUUFMsIGxvY2F0aW9uKTsKLSAg
ICBjYXNlIEFjdGlvblR5cGU6OkNTU0Rpc3BsYXlOb25lU2VsZWN0b3I6IHsKLSAgICAgICAgdWlu
dDMyX3QgaGVhZGVyTGVuZ3RoID0gc2l6ZW9mKEFjdGlvblR5cGUpICsgc2l6ZW9mKHVpbnQzMl90
KSArIHNpemVvZihib29sKTsKLSAgICAgICAgdWludDMyX3Qgc3RyaW5nU3RhcnRJbmRleCA9IGxv
Y2F0aW9uICsgaGVhZGVyTGVuZ3RoOwotICAgICAgICBSRUxFQVNFX0FTU0VSVChhY3Rpb25zTGVu
Z3RoID49IHN0cmluZ1N0YXJ0SW5kZXgpOwotICAgICAgICB1aW50MzJfdCBzZWxlY3Rvckxlbmd0
aCA9ICpyZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkKj4oJmFjdGlvbnNbbG9jYXRpb24g
KyBzaXplb2YoQWN0aW9uVHlwZSldKTsKLSAgICAgICAgYm9vbCB3aWRlQ2hhcmFjdGVycyA9IGFj
dGlvbnNbbG9jYXRpb24gKyBzaXplb2YoQWN0aW9uVHlwZSkgKyBzaXplb2YodWludDMyX3QpXTsK
LSAgICAgICAgCi0gICAgICAgIGlmICh3aWRlQ2hhcmFjdGVycykgewotICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoYWN0aW9uc0xlbmd0aCA+PSBzdHJpbmdTdGFydEluZGV4ICsgc2VsZWN0b3JM
ZW5ndGggKiBzaXplb2YoVUNoYXIpKTsKLSAgICAgICAgICAgIHJldHVybiBBY3Rpb24oQWN0aW9u
VHlwZTo6Q1NTRGlzcGxheU5vbmVTZWxlY3RvciwgU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgVUNoYXIqPigmYWN0aW9uc1tzdHJpbmdTdGFydEluZGV4XSksIHNlbGVjdG9yTGVuZ3RoKSwg
bG9jYXRpb24pOwotICAgICAgICB9Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGFjdGlvbnNMZW5n
dGggPj0gc3RyaW5nU3RhcnRJbmRleCArIHNlbGVjdG9yTGVuZ3RoICogc2l6ZW9mKExDaGFyKSk7
Ci0gICAgICAgIHJldHVybiBBY3Rpb24oQWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5vbmVTZWxlY3Rv
ciwgU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigmYWN0aW9uc1tzdHJpbmdT
dGFydEluZGV4XSksIHNlbGVjdG9yTGVuZ3RoKSwgbG9jYXRpb24pOwotICAgIH0KKyAgICAgICAg
cmV0dXJuIEFjdGlvbihhY3Rpb25UeXBlLCBsb2NhdGlvbik7CisgICAgY2FzZSBBY3Rpb25UeXBl
OjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yOgorICAgICAgICByZXR1cm4gQWN0aW9uKGFjdGlvblR5
cGUsIGRlc2VyaWFsaXplU3RyaW5nKGFjdGlvbnMsIGFjdGlvbnNMZW5ndGgsIGxvY2F0aW9uICsg
c2l6ZW9mKEFjdGlvblR5cGUpKSwgbG9jYXRpb24pOwogICAgIGNhc2UgQWN0aW9uVHlwZTo6Q1NT
RGlzcGxheU5vbmVTdHlsZVNoZWV0OgogICAgIGNhc2UgQWN0aW9uVHlwZTo6SW52YWxpZEFjdGlv
bjoKLSAgICBkZWZhdWx0OgotICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICBicmVhazsKICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
IH0KICAgICAKIEFjdGlvblR5cGUgQWN0aW9uOjpkZXNlcmlhbGl6ZVR5cGUoY29uc3QgU2VyaWFs
aXplZEFjdGlvbkJ5dGUqIGFjdGlvbnMsIGNvbnN0IHVpbnQzMl90IGFjdGlvbnNMZW5ndGgsIHVp
bnQzMl90IGxvY2F0aW9uKQpAQCAtODUsOSArODcsOSBAQCBBY3Rpb25UeXBlIEFjdGlvbjo6ZGVz
ZXJpYWxpemVUeXBlKGNvbnN0CiAgICAgICAgIHJldHVybiB0eXBlOwogICAgIGNhc2UgQWN0aW9u
VHlwZTo6Q1NTRGlzcGxheU5vbmVTdHlsZVNoZWV0OgogICAgIGNhc2UgQWN0aW9uVHlwZTo6SW52
YWxpZEFjdGlvbjoKLSAgICBkZWZhdWx0OgotICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICBicmVhazsKICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KICAgICAKIHVpbnQzMl90IEFjdGlvbjo6c2VyaWFsaXplZExlbmd0aChjb25z
dCBTZXJpYWxpemVkQWN0aW9uQnl0ZSogYWN0aW9ucywgY29uc3QgdWludDMyX3QgYWN0aW9uc0xl
bmd0aCwgdWludDMyX3QgbG9jYXRpb24pCkBAIC0xMDAsMjEgKzEwMiwyMSBAQCB1aW50MzJfdCBB
Y3Rpb246OnNlcmlhbGl6ZWRMZW5ndGgoY29uc3QgCiAgICAgY2FzZSBBY3Rpb25UeXBlOjpNYWtl
SFRUUFM6CiAgICAgICAgIHJldHVybiBzaXplb2YoQWN0aW9uVHlwZSk7CiAgICAgY2FzZSBBY3Rp
b25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yOiB7Ci0gICAgICAgIHVpbnQzMl90IGhlYWRl
ckxlbmd0aCA9IHNpemVvZihBY3Rpb25UeXBlKSArIHNpemVvZih1aW50MzJfdCkgKyBzaXplb2Yo
Ym9vbCk7Ci0gICAgICAgIHVpbnQzMl90IHN0cmluZ1N0YXJ0SW5kZXggPSBsb2NhdGlvbiArIGhl
YWRlckxlbmd0aDsKKyAgICAgICAgdWludDMyX3QgcHJlZml4TGVuZ3RoID0gc2l6ZW9mKEFjdGlv
blR5cGUpICsgc2l6ZW9mKHVpbnQzMl90KSArIHNpemVvZihib29sKTsKKyAgICAgICAgdWludDMy
X3Qgc3RyaW5nU3RhcnRJbmRleCA9IGxvY2F0aW9uICsgcHJlZml4TGVuZ3RoOwogICAgICAgICBS
RUxFQVNFX0FTU0VSVChhY3Rpb25zTGVuZ3RoID49IHN0cmluZ1N0YXJ0SW5kZXgpOwotICAgICAg
ICB1aW50MzJfdCBzZWxlY3Rvckxlbmd0aCA9ICpyZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2ln
bmVkKj4oJmFjdGlvbnNbbG9jYXRpb24gKyBzaXplb2YoQWN0aW9uVHlwZSldKTsKKyAgICAgICAg
dWludDMyX3Qgc3RyaW5nTGVuZ3RoID0gKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdW5zaWduZWQq
PigmYWN0aW9uc1tsb2NhdGlvbiArIHNpemVvZihBY3Rpb25UeXBlKV0pOwogICAgICAgICBib29s
IHdpZGVDaGFyYWN0ZXJzID0gYWN0aW9uc1tsb2NhdGlvbiArIHNpemVvZihBY3Rpb25UeXBlKSAr
IHNpemVvZih1aW50MzJfdCldOwogICAgICAgICAKICAgICAgICAgaWYgKHdpZGVDaGFyYWN0ZXJz
KQotICAgICAgICAgICAgcmV0dXJuIGhlYWRlckxlbmd0aCArIHNlbGVjdG9yTGVuZ3RoICogc2l6
ZW9mKFVDaGFyKTsKLSAgICAgICAgcmV0dXJuIGhlYWRlckxlbmd0aCArIHNlbGVjdG9yTGVuZ3Ro
ICogc2l6ZW9mKExDaGFyKTsKKyAgICAgICAgICAgIHJldHVybiBwcmVmaXhMZW5ndGggKyBzdHJp
bmdMZW5ndGggKiBzaXplb2YoVUNoYXIpOworICAgICAgICByZXR1cm4gcHJlZml4TGVuZ3RoICsg
c3RyaW5nTGVuZ3RoICogc2l6ZW9mKExDaGFyKTsKICAgICB9CiAgICAgY2FzZSBBY3Rpb25UeXBl
OjpDU1NEaXNwbGF5Tm9uZVN0eWxlU2hlZXQ6CiAgICAgY2FzZSBBY3Rpb25UeXBlOjpJbnZhbGlk
QWN0aW9uOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9ucwpJbmRleDogU291cmNl
L1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvblJ1bGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
UnVsZS5oCShyZXZpc2lvbiAyMjIxOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5z
aW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4
LDggQEAgc3RydWN0IEFjdGlvbiB7CiAgICAgICAgIDogbV90eXBlKHR5cGUpCiAgICAgICAgICwg
bV9hY3Rpb25JRChhY3Rpb25JRCkKICAgICB7Ci0gICAgICAgIEFTU0VSVCh0eXBlICE9IEFjdGlv
blR5cGU6OkNTU0Rpc3BsYXlOb25lU2VsZWN0b3IgJiYgdHlwZSAhPSBBY3Rpb25UeXBlOjpDU1NE
aXNwbGF5Tm9uZVN0eWxlU2hlZXQpOworICAgICAgICBBU1NFUlQodHlwZSAhPSBBY3Rpb25UeXBl
OjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKTsKKyAgICAgICAgQVNTRVJUKHR5cGUgIT0gQWN0aW9u
VHlwZTo6Q1NTRGlzcGxheU5vbmVTdHlsZVNoZWV0KTsKICAgICB9CiAKICAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgQWN0aW9uJiBvdGhlcikgY29uc3QK
</data>
<flag name="review"
          id="341340"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>