<?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>159495</bug_id>
          
          <creation_ts>2016-07-06 15:53:52 -0700</creation_ts>
          <short_desc>Return values of JSArray::createUninitialized (and related) are not consistently checked for nullptr</short_desc>
          <delta_ts>2016-07-21 01:04:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=160014</see_also>
          <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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mkwst</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1208425</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-06 15:53:52 -0700</bug_when>
    <thetext>Various members of the JSArray class hierarchy provide some version of createUninitialized/tryCreateUninitialized. These implementations return nullptr when various bad conditions exist, such as requests greater than available memory, etc.

While we have nullptr checks in most places, there are a number of cases where these are not present. This makes it possible for arbitrary web content to crash WebKit through a nullptr dereference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208447</commentid>
    <comment_count>1</comment_count>
      <attachid>282964</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-06 16:57:29 -0700</bug_when>
    <thetext>Created attachment 282964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208452</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-06 16:59:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/26075433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208453</commentid>
    <comment_count>3</comment_count>
      <attachid>282964</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-07-06 17:00:12 -0700</bug_when>
    <thetext>Comment on attachment 282964
Patch

Why are we logging these failures instead of throwing a JS exception?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208455</commentid>
    <comment_count>4</comment_count>
      <attachid>282964</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-07-06 17:02:51 -0700</bug_when>
    <thetext>Comment on attachment 282964
Patch

Why didn&apos;t we see a log in the test output?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208459</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-06 17:15:06 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 282964 [details]
&gt; Patch
&gt; 
&gt; Why didn&apos;t we see a log in the test output?

It shows up in the stderr, so if the test fails you actually can see the logging output. I don&apos;t know how to get WTFLogAlways stuff into test output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208461</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-06 17:29:43 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 282964 [details]
&gt; Patch
&gt; 
&gt; Why are we logging these failures instead of throwing a JS exception?

I don&apos;t think we throw JS exceptions from deep inside platform code (or at least a quick search didn&apos;t find anything helpful).

I definitely CAN do so in CanvasRenderingContext2D::getImageData, which makes the test much clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208465</commentid>
    <comment_count>7</comment_count>
      <attachid>282969</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-06 17:39:20 -0700</bug_when>
    <thetext>Created attachment 282969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208477</commentid>
    <comment_count>8</comment_count>
      <attachid>282969</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-06 18:03:34 -0700</bug_when>
    <thetext>Comment on attachment 282969
Patch

Clearing flags on attachment: 282969

Committed r202887: &lt;http://trac.webkit.org/changeset/202887&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208478</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-06 18:03:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282964</attachid>
            <date>2016-07-06 16:57:29 -0700</date>
            <delta_ts>2016-07-06 17:39:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159495-20160706165657.patch</filename>
            <type>text/plain</type>
            <size>10966</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjg4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA3LTA2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJldHVybiB2YWx1ZXMgb2Yg
SlNBcnJheTo6Y3JlYXRlVW5pbml0aWFsaXplZCAoYW5kIHJlbGF0ZWQpIGFyZSBub3QgY29uc2lz
dGVudGx5IGNoZWNrZWQgZm9yIG51bGxwdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1OTQ5NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjYwNzU0
MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZhbGlkLXJlc3VsdC1idWZmZXIt
Y3Jhc2guaHRtbAorCisgICAgICAgICogaHRtbC9JbWFnZURhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEYXRhOjpJbWFnZURhdGEpOiBBc3NlcnQgYXQgY29uc3RydWN0aW9uIGlmIHdl
IGNvdWxkIG5vdCBjcmVhdGUgYSB2YWxpZAorICAgICAgICBidWZmZXIuCisgICAgICAgICogcGxh
dGZvcm0vU2hhcmVkQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6
Y3JlYXRlQXJyYXlCdWZmZXIpOiBDaGVjayBmb3IgYSBudWxsIGJ1ZmZlciBiZWZvcmUgdXNpbmcg
aXQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXJEYXRhOjpnZXREYXRhKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1cjo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKTog
RGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpjb3B5SW1hZ2VCeXRlcyk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpjb3B5VW5tdWx0aXBsaWVkSW1h
Z2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6Y29weVByZW11bHRp
cGxpZWRJbWFnZSk6IERpdHRvLgorCiAyMDE2LTA3LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgRG9jdW1lbnQuYm9keSBzaG91bGQgcmV0dXJuIHRoZSBmaXJz
dCBjaGlsZCBvZiB0aGUgaHRtbCBlbGVtZW50IHRoYXQgaXMgZWl0aGVyIGEgYm9keSAvIGZyYW1l
c2V0IGVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5jcHAJKHJldmlzaW9uIDIw
Mjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDE0IEFkb2JlIFN5c3Rl
bXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApA
QCAtMTE1LDYgKzExNSw3IEBAIEltYWdlRGF0YTo6SW1hZ2VEYXRhKGNvbnN0IEludFNpemUmIHNp
emUKICAgICA6IG1fc2l6ZShzaXplKQogICAgICwgbV9kYXRhKFVpbnQ4Q2xhbXBlZEFycmF5Ojpj
cmVhdGVVbmluaXRpYWxpemVkKHNpemUud2lkdGgoKSAqIHNpemUuaGVpZ2h0KCkgKiA0KSkKIHsK
KyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihtX2RhdGEpOwogfQogCiBJbWFn
ZURhdGE6OkltYWdlRGF0YShjb25zdCBJbnRTaXplJiBzaXplLCBSZWY8VWludDhDbGFtcGVkQXJy
YXk+JiYgYnl0ZUFycmF5KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVm
ZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZm
ZXIuY3BwCShyZXZpc2lvbiAyMDI4NjkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRCdWZmZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMDktMjAxMC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxNSBDYW5vbiBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMTQ0LDYgKzE0NCwxMCBAQCBjb25zdCBjaGFyKiBTaGFy
ZWRCdWZmZXI6OmRhdGEoKSBjb25zdAogUmVmUHRyPEFycmF5QnVmZmVyPiBTaGFyZWRCdWZmZXI6
OmNyZWF0ZUFycmF5QnVmZmVyKCkgY29uc3QKIHsKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGFy
cmF5QnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZVVuaW5pdGlhbGl6ZWQoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHNpemUoKSksIHNpemVvZihjaGFyKSk7CisgICAgaWYgKCFhcnJheUJ1ZmZlcikg
eworICAgICAgICBXVEZMb2dBbHdheXMoIlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQXJyYXlCdWZmZXIg
VW5hYmxlIHRvIGNyZWF0ZSBidWZmZXIuIFJlcXVlc3RlZCBzaXplIHdhcyAlZCB4ICVsdVxuIiwg
c2l6ZSgpLCBzaXplb2YoY2hhcikpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiAK
ICAgICBjb25zdCBjaGFyKiBzZWdtZW50ID0gMDsKICAgICB1bnNpZ25lZCBwb3NpdGlvbiA9IDA7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckRh
dGFDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwCShyZXZpc2lvbiAyMDI4NjkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckRhdGFDRy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtOTcsOSArOTcsOSBAQCBSZWZQdHI8VWludDhDbGFtcGVkQXJyYXk+IEltYWdlQnVmZmVy
RGF0CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byByZXN1bHQgPSBVaW50OENs
YW1wZWRBcnJheTo6Y3JlYXRlVW5pbml0aWFsaXplZChhcmVhLnVuc2FmZUdldCgpKTsKLSAgICB1
bnNpZ25lZCBjaGFyKiByZXN1bHREYXRhID0gcmVzdWx0LT5kYXRhKCk7CisgICAgdW5zaWduZWQg
Y2hhciogcmVzdWx0RGF0YSA9IHJlc3VsdCA/IHJlc3VsdC0+ZGF0YSgpIDogbnVsbHB0cjsKICAg
ICBpZiAoIXJlc3VsdERhdGEpIHsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJJbWFnZUJ1ZmZlckRh
dGE6IFVuYWJsZSB0byBjcmVhdGUgYnVmZmVyLiBSZXF1ZXN0ZWQgc2l6ZSB3YXMgJWQgeCAlZCA9
ICV1XG4iLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCksIGFyZWEudW5zYWZlR2V0KCkpOwor
ICAgICAgICBXVEZMb2dBbHdheXMoIkltYWdlQnVmZmVyRGF0YTo6Z2V0RGF0YSBVbmFibGUgdG8g
Y3JlYXRlIHJlc3VsdCBidWZmZXIuIFJlcXVlc3RlZCBzaXplIHdhcyAlZCB4ICVkID0gJXVcbiIs
IHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSwgYXJlYS51bnNhZmVHZXQoKSk7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAJKHJl
dmlzaW9uIDIwMjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVHYXVzc2lhbkJsdXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQAogICog
Q29weXJpZ2h0IChDKSAyMDA5IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgogICogQ29w
eXJpZ2h0IChDKSAyMDEwIElnYWxpYSwgUy5MLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUtMjAxNiBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC01NDAsOSArNTQwLDEyIEBAIHZvaWQgRkVHYXVzc2lhbkJsdXI6OnBsYXRm
b3JtQXBwbHlTb2Z0d2EKICAgICBJbnRTaXplIHBhaW50U2l6ZSA9IGFic29sdXRlUGFpbnRSZWN0
KCkuc2l6ZSgpOwogICAgIHBhaW50U2l6ZS5zY2FsZShmaWx0ZXIoKS5maWx0ZXJTY2FsZSgpKTsK
ICAgICBSZWZQdHI8VWludDhDbGFtcGVkQXJyYXk+IHRtcEltYWdlRGF0YSA9IFVpbnQ4Q2xhbXBl
ZEFycmF5OjpjcmVhdGVVbmluaXRpYWxpemVkKHBhaW50U2l6ZS53aWR0aCgpICogcGFpbnRTaXpl
LmhlaWdodCgpICogNCk7Ci0gICAgVWludDhDbGFtcGVkQXJyYXkqIHRtcFBpeGVsQXJyYXkgPSB0
bXBJbWFnZURhdGEuZ2V0KCk7CisgICAgaWYgKCF0bXBJbWFnZURhdGEpIHsKKyAgICAgICAgV1RG
TG9nQWx3YXlzKCJGRUdhdXNzaWFuQmx1cjo6cGxhdGZvcm1BcHBseVNvZnR3YXJlIFVuYWJsZSB0
byBjcmVhdGUgYnVmZmVyLiBSZXF1ZXN0ZWQgc2l6ZSB3YXMgJWQgeCAlZFxuIiwgcGFpbnRTaXpl
LndpZHRoKCksIHBhaW50U2l6ZS5oZWlnaHQoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAK
LSAgICBwbGF0Zm9ybUFwcGx5KHNyY1BpeGVsQXJyYXksIHRtcFBpeGVsQXJyYXksIGtlcm5lbFNp
emUud2lkdGgoKSwga2VybmVsU2l6ZS5oZWlnaHQoKSwgcGFpbnRTaXplKTsKKyAgICBwbGF0Zm9y
bUFwcGx5KHNyY1BpeGVsQXJyYXksIHRtcEltYWdlRGF0YS5nZXQoKSwga2VybmVsU2l6ZS53aWR0
aCgpLCBrZXJuZWxTaXplLmhlaWdodCgpLCBwYWludFNpemUpOwogfQogCiB2b2lkIEZFR2F1c3Np
YW5CbHVyOjpkdW1wKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyRWZmZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAJKHJldmlzaW9uIDIwMjg2OSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAw
OSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgUmVzZWFy
Y2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMiBVbml2ZXJzaXR5IG9mIFN6ZWdlZAotICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0y
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtMjU5LDYgKzI1OSw5IEBAIGlubGluZSB2b2lkIEZpbHRlckVmZmVjdDo6Y29weUltYWdlQnl0
ZXMKICAgICBJbnRTaXplIHNjYWxlZFBhaW50U2l6ZShtX2Fic29sdXRlUGFpbnRSZWN0LnNpemUo
KSk7CiAgICAgc2NhbGVkUGFpbnRTaXplLnNjYWxlKG1fZmlsdGVyLmZpbHRlclNjYWxlKCkpOwog
CisgICAgaWYgKCFzb3VyY2UgfHwgIWRlc3RpbmF0aW9uKQorICAgICAgICByZXR1cm47CisKICAg
ICAvLyBJbml0aWFsaXplIHRoZSBkZXN0aW5hdGlvbiB0byB0cmFuc3BhcmVudCBibGFjaywgaWYg
bm90IGVudGlyZWx5IGNvdmVyZWQgYnkgdGhlIHNvdXJjZS4KICAgICBpZiAoc2NhbGVkUmVjdC54
KCkgPCAwIHx8IHNjYWxlZFJlY3QueSgpIDwgMCB8fCBzY2FsZWRSZWN0Lm1heFgoKSA+IHNjYWxl
ZFBhaW50U2l6ZS53aWR0aCgpIHx8IHNjYWxlZFJlY3QubWF4WSgpID4gc2NhbGVkUGFpbnRTaXpl
LmhlaWdodCgpKQogICAgICAgICBtZW1zZXQoZGVzdGluYXRpb24tPmRhdGEoKSwgMCwgZGVzdGlu
YXRpb24tPmxlbmd0aCgpKTsKQEAgLTMxNCw2ICszMTcsMTAgQEAgdm9pZCBGaWx0ZXJFZmZlY3Q6
OmNvcHlVbm11bHRpcGxpZWRJbWFnZQogICAgICAgICAgICAgQVNTRVJUKCFJbWFnZUJ1ZmZlcjo6
c2l6ZU5lZWRzQ2xhbXBpbmcoaW5wdXRTaXplKSk7CiAgICAgICAgICAgICBpbnB1dFNpemUuc2Nh
bGUobV9maWx0ZXIuZmlsdGVyU2NhbGUoKSk7CiAgICAgICAgICAgICBtX3VubXVsdGlwbGllZElt
YWdlUmVzdWx0ID0gVWludDhDbGFtcGVkQXJyYXk6OmNyZWF0ZVVuaW5pdGlhbGl6ZWQoaW5wdXRT
aXplLndpZHRoKCkgKiBpbnB1dFNpemUuaGVpZ2h0KCkgKiA0KTsKKyAgICAgICAgICAgIGlmICgh
bV91bm11bHRpcGxpZWRJbWFnZVJlc3VsdCkgeworICAgICAgICAgICAgICAgIFdURkxvZ0Fsd2F5
cygiRmlsdGVyRWZmZWN0Ojpjb3B5VW5tdWx0aXBsaWVkSW1hZ2UgVW5hYmxlIHRvIGNyZWF0ZSBi
dWZmZXIuIFJlcXVlc3RlZCBzaXplIHdhcyAlZCB4ICVkXG4iLCBpbnB1dFNpemUud2lkdGgoKSwg
aW5wdXRTaXplLmhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzb3VyY2VDb21wb25lbnQgPSBtX3ByZW11
bHRpcGxpZWRJbWFnZVJlc3VsdC0+ZGF0YSgpOwogICAgICAgICAgICAgdW5zaWduZWQgY2hhciog
ZGVzdGluYXRpb25Db21wb25lbnQgPSBtX3VubXVsdGlwbGllZEltYWdlUmVzdWx0LT5kYXRhKCk7
CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBlbmQgPSBzb3VyY2VDb21wb25lbnQgKyAoaW5w
dXRTaXplLndpZHRoKCkgKiBpbnB1dFNpemUuaGVpZ2h0KCkgKiA0KTsKQEAgLTM1MCw2ICszNTcs
MTAgQEAgdm9pZCBGaWx0ZXJFZmZlY3Q6OmNvcHlQcmVtdWx0aXBsaWVkSW1hZwogICAgICAgICAg
ICAgQVNTRVJUKCFJbWFnZUJ1ZmZlcjo6c2l6ZU5lZWRzQ2xhbXBpbmcoaW5wdXRTaXplKSk7CiAg
ICAgICAgICAgICBpbnB1dFNpemUuc2NhbGUobV9maWx0ZXIuZmlsdGVyU2NhbGUoKSk7CiAgICAg
ICAgICAgICBtX3ByZW11bHRpcGxpZWRJbWFnZVJlc3VsdCA9IFVpbnQ4Q2xhbXBlZEFycmF5Ojpj
cmVhdGVVbmluaXRpYWxpemVkKGlucHV0U2l6ZS53aWR0aCgpICogaW5wdXRTaXplLmhlaWdodCgp
ICogNCk7CisgICAgICAgICAgICBpZiAoIW1fcHJlbXVsdGlwbGllZEltYWdlUmVzdWx0KSB7Cisg
ICAgICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJGaWx0ZXJFZmZlY3Q6OmNvcHlQcmVtdWx0aXBs
aWVkSW1hZ2UgVW5hYmxlIHRvIGNyZWF0ZSBidWZmZXIuIFJlcXVlc3RlZCBzaXplIHdhcyAlZCB4
ICVkXG4iLCBpbnB1dFNpemUud2lkdGgoKSwgaW5wdXRTaXplLmhlaWdodCgpKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiBzb3VyY2VDb21wb25lbnQgPSBtX3VubXVsdGlwbGllZEltYWdlUmVzdWx0LT5kYXRhKCk7CiAg
ICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkZXN0aW5hdGlvbkNvbXBvbmVudCA9IG1fcHJlbXVs
dGlwbGllZEltYWdlUmVzdWx0LT5kYXRhKCk7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBl
bmQgPSBzb3VyY2VDb21wb25lbnQgKyAoaW5wdXRTaXplLndpZHRoKCkgKiBpbnB1dFNpemUuaGVp
Z2h0KCkgKiA0KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjg2OSkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE2LTA3LTA2ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJldHVybiB2YWx1ZXMg
b2YgSlNBcnJheTo6Y3JlYXRlVW5pbml0aWFsaXplZCAoYW5kIHJlbGF0ZWQpIGFyZSBub3QgY29u
c2lzdGVudGx5IGNoZWNrZWQgZm9yIG51bGxwdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTQ5NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjYw
NzU0MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtcmVzdWx0LWJ1ZmZlci1j
cmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VE
YXRhLWludmFsaWQtcmVzdWx0LWJ1ZmZlci1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAy
MDE2LTA3LTA2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk4OTI4IGFuZCByMTk4OTg1LgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZhbGlkLXJlc3Vs
dC1idWZmZXItY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC1yZXN1bHQtYnVmZmVyLWNyYXNo
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9j
YW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtcmVzdWx0LWJ1ZmZlci1jcmFzaC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorUEFTU0VEIChJZiB0aGlzIHBhZ2UgZGlk
IG5vdCBjcmFzaC4pCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1h
Z2VEYXRhLWludmFsaWQtcmVzdWx0LWJ1ZmZlci1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC1yZXN1bHQt
YnVmZmVyLWNyYXNoLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZhbGlkLXJlc3VsdC1idWZmZXItY3Jhc2guaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoZmFsc2Up
OworCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdCIpOworICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQi
KTsKKyAgICBjdHguZ2V0SW1hZ2VEYXRhKDEwMDAwLCAxMjUsIC0zODEwMDAwMDAsIC0wLjkpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGNh
bnZhcyBpZD0idGVzdCIgd2lkdGg9IjEwMDAiIGhlaWdodD0iMTAwMCI+PC9jYW52YXM+CitQQVNT
RUQgKElmIHRoaXMgcGFnZSBkaWQgbm90IGNyYXNoLikKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282969</attachid>
            <date>2016-07-06 17:39:20 -0700</date>
            <delta_ts>2016-07-06 18:03:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159495-20160706173848.patch</filename>
            <type>text/plain</type>
            <size>12355</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjg4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA3LTA2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJldHVybiB2YWx1ZXMgb2Yg
SlNBcnJheTo6Y3JlYXRlVW5pbml0aWFsaXplZCAoYW5kIHJlbGF0ZWQpIGFyZSBub3QgY29uc2lz
dGVudGx5IGNoZWNrZWQgZm9yIG51bGxwdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1OTQ5NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjYwNzU0
MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZhbGlkLXJlc3VsdC1idWZmZXIt
Y3Jhc2guaHRtbAorCisgICAgICAgICogaHRtbC9JbWFnZURhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEYXRhOjpJbWFnZURhdGEpOiBBc3NlcnQgYXQgY29uc3RydWN0aW9uIGlmIHdl
IGNvdWxkIG5vdCBjcmVhdGUgYSB2YWxpZAorICAgICAgICBidWZmZXIuCisgICAgICAgICogcGxh
dGZvcm0vU2hhcmVkQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6
Y3JlYXRlQXJyYXlCdWZmZXIpOiBDaGVjayBmb3IgYSBudWxsIGJ1ZmZlciBiZWZvcmUgdXNpbmcg
aXQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJEYXRhQ0cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXJEYXRhOjpnZXREYXRhKTogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1cjo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKTog
RGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpjb3B5SW1hZ2VCeXRlcyk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpjb3B5VW5tdWx0aXBsaWVkSW1h
Z2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6Y29weVByZW11bHRp
cGxpZWRJbWFnZSk6IERpdHRvLgorCiAyMDE2LTA3LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgRG9jdW1lbnQuYm9keSBzaG91bGQgcmV0dXJuIHRoZSBmaXJz
dCBjaGlsZCBvZiB0aGUgaHRtbCBlbGVtZW50IHRoYXQgaXMgZWl0aGVyIGEgYm9keSAvIGZyYW1l
c2V0IGVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5jcHAJKHJldmlzaW9uIDIw
Mjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDE0IEFkb2JlIFN5c3Rl
bXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApA
QCAtMTE1LDYgKzExNSw3IEBAIEltYWdlRGF0YTo6SW1hZ2VEYXRhKGNvbnN0IEludFNpemUmIHNp
emUKICAgICA6IG1fc2l6ZShzaXplKQogICAgICwgbV9kYXRhKFVpbnQ4Q2xhbXBlZEFycmF5Ojpj
cmVhdGVVbmluaXRpYWxpemVkKHNpemUud2lkdGgoKSAqIHNpemUuaGVpZ2h0KCkgKiA0KSkKIHsK
KyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihtX2RhdGEpOwogfQogCiBJbWFn
ZURhdGE6OkltYWdlRGF0YShjb25zdCBJbnRTaXplJiBzaXplLCBSZWY8VWludDhDbGFtcGVkQXJy
YXk+JiYgYnl0ZUFycmF5KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiAyMDI4NjkpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDMxLDggKzIwMzEsMTcgQEAgUmVmUHRyPEltYWdlRGF0YT4g
Q2FudmFzUmVuZGVyaW5nQ29udGV4dAogICAgICAgICByZXR1cm4gY3JlYXRlRW1wdHlJbWFnZURh
dGEoaW1hZ2VEYXRhUmVjdC5zaXplKCkpOwogCiAgICAgUmVmUHRyPFVpbnQ4Q2xhbXBlZEFycmF5
PiBieXRlQXJyYXkgPSBidWZmZXItPmdldFVubXVsdGlwbGllZEltYWdlRGF0YShpbWFnZURhdGFS
ZWN0LCBjb29yZGluYXRlU3lzdGVtKTsKLSAgICBpZiAoIWJ5dGVBcnJheSkKKyAgICBpZiAoIWJ5
dGVBcnJheSkgeworICAgICAgICBTdHJpbmdCdWlsZGVyIGNvbnNvbGVNZXNzYWdlOworICAgICAg
ICBjb25zb2xlTWVzc2FnZS5hcHBlbmRMaXRlcmFsKCJVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEg
ZnJvbSBjYW52YXMuIFJlcXVlc3RlZCBzaXplIHdhcyAiKTsKKyAgICAgICAgY29uc29sZU1lc3Nh
Z2UuYXBwZW5kTnVtYmVyKGltYWdlRGF0YVJlY3Qud2lkdGgoKSk7CisgICAgICAgIGNvbnNvbGVN
ZXNzYWdlLmFwcGVuZExpdGVyYWwoIiB4ICIpOworICAgICAgICBjb25zb2xlTWVzc2FnZS5hcHBl
bmROdW1iZXIoaW1hZ2VEYXRhUmVjdC5oZWlnaHQoKSk7CisKKyAgICAgICAgY2FudmFzKCktPmRv
Y3VtZW50KCkuYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6UmVuZGVyaW5nLCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCBjb25zb2xlTWVzc2FnZS50b1N0cmluZygpKTsKKyAgICAgICAgZWMg
PSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQogCiAg
ICAgcmV0dXJuIEltYWdlRGF0YTo6Y3JlYXRlKGltYWdlRGF0YVJlY3Quc2l6ZSgpLCBieXRlQXJy
YXkucmVsZWFzZU5vbk51bGwoKSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1No
YXJlZEJ1ZmZlci5jcHAJKHJldmlzaW9uIDIwMjg2OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1NoYXJlZEJ1ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAwOS0y
MDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDE1IENhbm9uIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0xNDQsNiArMTQ0LDEwIEBAIGNvbnN0IGNo
YXIqIFNoYXJlZEJ1ZmZlcjo6ZGF0YSgpIGNvbnN0CiBSZWZQdHI8QXJyYXlCdWZmZXI+IFNoYXJl
ZEJ1ZmZlcjo6Y3JlYXRlQXJyYXlCdWZmZXIoKSBjb25zdAogewogICAgIFJlZlB0cjxBcnJheUJ1
ZmZlcj4gYXJyYXlCdWZmZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlVW5pbml0aWFsaXplZChzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oc2l6ZSgpKSwgc2l6ZW9mKGNoYXIpKTsKKyAgICBpZiAoIWFycmF5
QnVmZmVyKSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiU2hhcmVkQnVmZmVyOjpjcmVhdGVBcnJh
eUJ1ZmZlciBVbmFibGUgdG8gY3JlYXRlIGJ1ZmZlci4gUmVxdWVzdGVkIHNpemUgd2FzICVkIHgg
JWx1XG4iLCBzaXplKCksIHNpemVvZihjaGFyKSk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KIAogICAgIGNvbnN0IGNoYXIqIHNlZ21lbnQgPSAwOwogICAgIHVuc2lnbmVkIHBvc2l0
aW9uID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
QnVmZmVyRGF0YUNHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbWFnZUJ1ZmZlckRhdGFDRy5jcHAJKHJldmlzaW9uIDIwMjg2OSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyRGF0YUNHLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC05NywxMSArOTcsOSBAQCBSZWZQdHI8VWludDhDbGFtcGVkQXJyYXk+IElt
YWdlQnVmZmVyRGF0CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYXV0byByZXN1bHQg
PSBVaW50OENsYW1wZWRBcnJheTo6Y3JlYXRlVW5pbml0aWFsaXplZChhcmVhLnVuc2FmZUdldCgp
KTsKLSAgICB1bnNpZ25lZCBjaGFyKiByZXN1bHREYXRhID0gcmVzdWx0LT5kYXRhKCk7Ci0gICAg
aWYgKCFyZXN1bHREYXRhKSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiSW1hZ2VCdWZmZXJEYXRh
OiBVbmFibGUgdG8gY3JlYXRlIGJ1ZmZlci4gUmVxdWVzdGVkIHNpemUgd2FzICVkIHggJWQgPSAl
dVxuIiwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpLCBhcmVhLnVuc2FmZUdldCgpKTsKKyAg
ICB1bnNpZ25lZCBjaGFyKiByZXN1bHREYXRhID0gcmVzdWx0ID8gcmVzdWx0LT5kYXRhKCkgOiBu
dWxscHRyOworICAgIGlmICghcmVzdWx0RGF0YSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgfQogCiAgICAgQ2hlY2tlZDxpbnQ+IGVuZHggPSByZWN0Lm1heFgoKTsKICAgICBlbmR4ICo9
IGNlaWxmKHJlc29sdXRpb25TY2FsZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAkocmV2
aXNpb24gMjAyODY5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUdhdXNzaWFuQmx1ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBACiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNS0yMDE2IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTU0MCw5ICs1NDAsMTIgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6cGxhdGZv
cm1BcHBseVNvZnR3YQogICAgIEludFNpemUgcGFpbnRTaXplID0gYWJzb2x1dGVQYWludFJlY3Qo
KS5zaXplKCk7CiAgICAgcGFpbnRTaXplLnNjYWxlKGZpbHRlcigpLmZpbHRlclNjYWxlKCkpOwog
ICAgIFJlZlB0cjxVaW50OENsYW1wZWRBcnJheT4gdG1wSW1hZ2VEYXRhID0gVWludDhDbGFtcGVk
QXJyYXk6OmNyZWF0ZVVuaW5pdGlhbGl6ZWQocGFpbnRTaXplLndpZHRoKCkgKiBwYWludFNpemUu
aGVpZ2h0KCkgKiA0KTsKLSAgICBVaW50OENsYW1wZWRBcnJheSogdG1wUGl4ZWxBcnJheSA9IHRt
cEltYWdlRGF0YS5nZXQoKTsKKyAgICBpZiAoIXRtcEltYWdlRGF0YSkgeworICAgICAgICBXVEZM
b2dBbHdheXMoIkZFR2F1c3NpYW5CbHVyOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUgVW5hYmxlIHRv
IGNyZWF0ZSBidWZmZXIuIFJlcXVlc3RlZCBzaXplIHdhcyAlZCB4ICVkXG4iLCBwYWludFNpemUu
d2lkdGgoKSwgcGFpbnRTaXplLmhlaWdodCgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAot
ICAgIHBsYXRmb3JtQXBwbHkoc3JjUGl4ZWxBcnJheSwgdG1wUGl4ZWxBcnJheSwga2VybmVsU2l6
ZS53aWR0aCgpLCBrZXJuZWxTaXplLmhlaWdodCgpLCBwYWludFNpemUpOworICAgIHBsYXRmb3Jt
QXBwbHkoc3JjUGl4ZWxBcnJheSwgdG1wSW1hZ2VEYXRhLmdldCgpLCBrZXJuZWxTaXplLndpZHRo
KCksIGtlcm5lbFNpemUuaGVpZ2h0KCksIHBhaW50U2l6ZSk7CiB9CiAKIHZvaWQgRkVHYXVzc2lh
bkJsdXI6OmR1bXAoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GaWx0ZXJFZmZlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAkocmV2aXNpb24gMjAyODY5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA5
IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDEyIFVuaXZlcnNpdHkgb2YgU3plZ2VkCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0yNTksNiArMjU5LDkgQEAgaW5saW5lIHZvaWQgRmlsdGVyRWZmZWN0Ojpjb3B5SW1hZ2VCeXRl
cwogICAgIEludFNpemUgc2NhbGVkUGFpbnRTaXplKG1fYWJzb2x1dGVQYWludFJlY3Quc2l6ZSgp
KTsKICAgICBzY2FsZWRQYWludFNpemUuc2NhbGUobV9maWx0ZXIuZmlsdGVyU2NhbGUoKSk7CiAK
KyAgICBpZiAoIXNvdXJjZSB8fCAhZGVzdGluYXRpb24pCisgICAgICAgIHJldHVybjsKKwogICAg
IC8vIEluaXRpYWxpemUgdGhlIGRlc3RpbmF0aW9uIHRvIHRyYW5zcGFyZW50IGJsYWNrLCBpZiBu
b3QgZW50aXJlbHkgY292ZXJlZCBieSB0aGUgc291cmNlLgogICAgIGlmIChzY2FsZWRSZWN0Lngo
KSA8IDAgfHwgc2NhbGVkUmVjdC55KCkgPCAwIHx8IHNjYWxlZFJlY3QubWF4WCgpID4gc2NhbGVk
UGFpbnRTaXplLndpZHRoKCkgfHwgc2NhbGVkUmVjdC5tYXhZKCkgPiBzY2FsZWRQYWludFNpemUu
aGVpZ2h0KCkpCiAgICAgICAgIG1lbXNldChkZXN0aW5hdGlvbi0+ZGF0YSgpLCAwLCBkZXN0aW5h
dGlvbi0+bGVuZ3RoKCkpOwpAQCAtMzE0LDYgKzMxNywxMCBAQCB2b2lkIEZpbHRlckVmZmVjdDo6
Y29weVVubXVsdGlwbGllZEltYWdlCiAgICAgICAgICAgICBBU1NFUlQoIUltYWdlQnVmZmVyOjpz
aXplTmVlZHNDbGFtcGluZyhpbnB1dFNpemUpKTsKICAgICAgICAgICAgIGlucHV0U2l6ZS5zY2Fs
ZShtX2ZpbHRlci5maWx0ZXJTY2FsZSgpKTsKICAgICAgICAgICAgIG1fdW5tdWx0aXBsaWVkSW1h
Z2VSZXN1bHQgPSBVaW50OENsYW1wZWRBcnJheTo6Y3JlYXRlVW5pbml0aWFsaXplZChpbnB1dFNp
emUud2lkdGgoKSAqIGlucHV0U2l6ZS5oZWlnaHQoKSAqIDQpOworICAgICAgICAgICAgaWYgKCFt
X3VubXVsdGlwbGllZEltYWdlUmVzdWx0KSB7CisgICAgICAgICAgICAgICAgV1RGTG9nQWx3YXlz
KCJGaWx0ZXJFZmZlY3Q6OmNvcHlVbm11bHRpcGxpZWRJbWFnZSBVbmFibGUgdG8gY3JlYXRlIGJ1
ZmZlci4gUmVxdWVzdGVkIHNpemUgd2FzICVkIHggJWRcbiIsIGlucHV0U2l6ZS53aWR0aCgpLCBp
bnB1dFNpemUuaGVpZ2h0KCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNvdXJjZUNvbXBvbmVudCA9IG1fcHJlbXVs
dGlwbGllZEltYWdlUmVzdWx0LT5kYXRhKCk7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBk
ZXN0aW5hdGlvbkNvbXBvbmVudCA9IG1fdW5tdWx0aXBsaWVkSW1hZ2VSZXN1bHQtPmRhdGEoKTsK
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGVuZCA9IHNvdXJjZUNvbXBvbmVudCArIChpbnB1
dFNpemUud2lkdGgoKSAqIGlucHV0U2l6ZS5oZWlnaHQoKSAqIDQpOwpAQCAtMzUwLDYgKzM1Nywx
MCBAQCB2b2lkIEZpbHRlckVmZmVjdDo6Y29weVByZW11bHRpcGxpZWRJbWFnCiAgICAgICAgICAg
ICBBU1NFUlQoIUltYWdlQnVmZmVyOjpzaXplTmVlZHNDbGFtcGluZyhpbnB1dFNpemUpKTsKICAg
ICAgICAgICAgIGlucHV0U2l6ZS5zY2FsZShtX2ZpbHRlci5maWx0ZXJTY2FsZSgpKTsKICAgICAg
ICAgICAgIG1fcHJlbXVsdGlwbGllZEltYWdlUmVzdWx0ID0gVWludDhDbGFtcGVkQXJyYXk6OmNy
ZWF0ZVVuaW5pdGlhbGl6ZWQoaW5wdXRTaXplLndpZHRoKCkgKiBpbnB1dFNpemUuaGVpZ2h0KCkg
KiA0KTsKKyAgICAgICAgICAgIGlmICghbV9wcmVtdWx0aXBsaWVkSW1hZ2VSZXN1bHQpIHsKKyAg
ICAgICAgICAgICAgICBXVEZMb2dBbHdheXMoIkZpbHRlckVmZmVjdDo6Y29weVByZW11bHRpcGxp
ZWRJbWFnZSBVbmFibGUgdG8gY3JlYXRlIGJ1ZmZlci4gUmVxdWVzdGVkIHNpemUgd2FzICVkIHgg
JWRcbiIsIGlucHV0U2l6ZS53aWR0aCgpLCBpbnB1dFNpemUuaGVpZ2h0KCkpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIq
IHNvdXJjZUNvbXBvbmVudCA9IG1fdW5tdWx0aXBsaWVkSW1hZ2VSZXN1bHQtPmRhdGEoKTsKICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRlc3RpbmF0aW9uQ29tcG9uZW50ID0gbV9wcmVtdWx0
aXBsaWVkSW1hZ2VSZXN1bHQtPmRhdGEoKTsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGVu
ZCA9IHNvdXJjZUNvbXBvbmVudCArIChpbnB1dFNpemUud2lkdGgoKSAqIGlucHV0U2l6ZS5oZWln
aHQoKSAqIDQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjAyODY5KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDctMDYgIEJyZW50
IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV0dXJuIHZhbHVlcyBv
ZiBKU0FycmF5OjpjcmVhdGVVbmluaXRpYWxpemVkIChhbmQgcmVsYXRlZCkgYXJlIG5vdCBjb25z
aXN0ZW50bHkgY2hlY2tlZCBmb3IgbnVsbHB0cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NDk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNjA3
NTQzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC1yZXN1bHQtYnVmZmVyLWNy
YXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1nZXRJbWFnZURh
dGEtaW52YWxpZC1yZXN1bHQtYnVmZmVyLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIw
MTYtMDctMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTg5MjggYW5kIHIxOTg5ODUuCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtcmVzdWx0
LWJ1ZmZlci1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS1pbnZhbGlkLXJlc3VsdC1idWZmZXItY3Jhc2gt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Nh
bnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC1yZXN1bHQtYnVmZmVyLWNyYXNoLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA4
OiBVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52YXMuIFJlcXVlc3RlZCBzaXplIHdh
cyAzODEwMDAwMDAgeCAyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgODogSW52YWxpZFN0YXRlRXJy
b3I6IERPTSBFeGNlcHRpb24gMTE6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4K
K1BBU1NFRCAoSWYgdGhpcyBwYWdlIGRpZCBub3QgY3Jhc2guKQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1nZXRJbWFnZURhdGEtaW52YWxpZC1yZXN1bHQtYnVmZmVyLWNyYXNoLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdl
RGF0YS1pbnZhbGlkLXJlc3VsdC1idWZmZXItY3Jhc2guaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZ2V0SW1hZ2VEYXRhLWludmFsaWQtcmVzdWx0
LWJ1ZmZlci1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHZhciBjYW52YXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIHZhciBjdHggPSBjYW52YXMu
Z2V0Q29udGV4dCgiMmQiKTsKKyAgICBjdHguZ2V0SW1hZ2VEYXRhKDEwMDAwLCAxMjUsIC0zODEw
MDAwMDAsIC0wLjkpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+CisgICAgPGNhbnZhcyBpZD0idGVzdCIgd2lkdGg9IjEwMDAiIGhlaWdodD0iMTAwMCI+
PC9jYW52YXM+CitQQVNTRUQgKElmIHRoaXMgcGFnZSBkaWQgbm90IGNyYXNoLikKKyAgICA8cHJl
IGlkPSdjb25zb2xlJz48L3ByZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>