<?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>15974</bug_id>
          
          <creation_ts>2007-11-13 17:32:43 -0800</creation_ts>
          <short_desc>Public GIF image decoder does not handle disposal of previous frames correctly</short_desc>
          <delta_ts>2007-11-26 19:01:47 -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>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Kasting">pkasting</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>61135</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-13 17:32:43 -0800</bug_when>
    <thetext>GIFImageDecoder.cpp (not used by Safari, but used by the Cairo/Qt ports) does not correctly deal with disposal of previous frames in a multi-frame GIF.

GIFs can specify four disposal methods for a frame: &quot;not specified&quot;, &quot;keep&quot;, &quot;clear to background color&quot;, and &quot;clear to previous&quot;.  There are multiple issues:
* GIFImageReader doesn&apos;t provide the disposal method to GIFImageDecoder.cpp, just a flag indicating whether or not the method was &quot;keep&quot;.  This makes it impossible to distinguish the two clear methods, and more noticeably, treats &quot;not specified&quot; like a clear method.  Mozilla, IE, and Safari, by contrast, treat &quot;not specified&quot; as &quot;keep&quot;, and at least some GIFs on the web rely on this (example to be attached after filing).
* When clearing, the code in GIFImageDecoder.cpp:initFrameBuffer() reverts to the contents of frame 0, which is not the same as either of the clear methods in the spec.  By contrast, Mozilla treats both clear methods like &quot;clear to background color&quot;.  I don&apos;t know what IE or Safari do or what actual images rely on.

I think the right fix here is to change RGBA32Buffer&apos;s &quot;includeInNextFrame()&quot; method (which is only used by the GIF decoder) to instead return an actual disposal method, have GIFImageReader provide the true disposal method, and then fix initFrameBuffer() to respect this method.  I don&apos;t know whether &quot;clear to previous&quot; should be treated like &quot;clear to background color&quot; (as Mozilla does) or made to follow the GIF spec.  Input welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61137</commentid>
    <comment_count>1</comment_count>
      <attachid>17247</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-13 17:34:26 -0800</bug_when>
    <thetext>Created attachment 17247
Sample image relying on &quot;not specified&quot; disposal

This image never specifies a disposal method for any of its frames, and relies on that making each frame act like the disposal method was &quot;keep&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61140</commentid>
    <comment_count>2</comment_count>
      <attachid>17249</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-13 17:45:55 -0800</bug_when>
    <thetext>Created attachment 17249
Sample image (1) relying on &quot;clear to previous&quot;

Here&apos;s an image that I think relies on &quot;clear to previous&quot; behavior to work right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61141</commentid>
    <comment_count>3</comment_count>
      <attachid>17250</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-13 17:47:23 -0800</bug_when>
    <thetext>Created attachment 17250
Sample image (2) relying on &quot;clear to previous&quot;

...and another.

Firefox, IE and Safari all display both these images fine.  I need to verify exactly what the clearing behavior in the files is, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61142</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-13 17:51:18 -0800</bug_when>
    <thetext>I lied, I don&apos;t think Mozilla treats &quot;clear to previous&quot; as &quot;clear to background color&quot;.  I was misinterpreting their code.  I think everybody else actually gets this right according to the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61418</commentid>
    <comment_count>5</comment_count>
      <attachid>17320</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-16 14:18:35 -0800</bug_when>
    <thetext>Created attachment 17320
patch v1

This patch makes all the above attached images work correctly.  It also calls ensureHeight() in a more consistent way (we don&apos;t ensureHeight(m_size.height()) on some frames before decoding anything the way we did before) and calls setHasAlpha() correctly (although a bit conservatively -- we might claim to have alpha when we don&apos;t, but never the other way), which was trickier with the new initialization code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61440</commentid>
    <comment_count>6</comment_count>
      <attachid>17320</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-16 20:18:01 -0800</bug_when>
    <thetext>Comment on attachment 17320
patch v1

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61658</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-11-19 04:22:48 -0800</bug_when>
    <thetext>Landed in r27896.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61662</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-11-19 05:03:08 -0800</bug_when>
    <thetext>I had to roll this out as it caused a bunch of build failures in the ports using this class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62122</commentid>
    <comment_count>9</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-11-23 15:00:33 -0800</bug_when>
    <thetext>Peter,

If you need some help integrating your modified GIF API into other ports, please do ask and I&apos;ll be happy to take a look.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62257</commentid>
    <comment_count>10</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-24 22:53:05 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; If you need some help integrating your modified GIF API into other ports,
&gt; please do ask and I&apos;ll be happy to take a look.

If you have the ability to build various other ports, help would be very appreciated.  Feel free to post an updated patch.  Otherwise, I will try to get to writing patches that cover the other ports as well in the next few days (although I don&apos;t have the ability to build them to test).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62419</commentid>
    <comment_count>11</comment_count>
      <attachid>17541</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2007-11-26 18:13:12 -0800</bug_when>
    <thetext>Created attachment 17541
patch v2

This attempts to fix build bustage problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62426</commentid>
    <comment_count>12</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-11-26 19:01:47 -0800</bug_when>
    <thetext>Landed in r28068.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17247</attachid>
            <date>2007-11-13 17:34:26 -0800</date>
            <delta_ts>2007-11-13 17:34:26 -0800</delta_ts>
            <desc>Sample image relying on &quot;not specified&quot; disposal</desc>
            <filename>Banner490x100.gif</filename>
            <type>image/gif</type>
            <size>59680</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">R0lGODlh5gFdAIcAAP////i4uPjc3PiAePhAOPjw6OTEyPgAAPiUkPhcWPgoIPgQCMCMONCkbFiY
yAgICCgoJEBoZKiotJiYmPjMlJikzHCMqIiIjHBoaEBURLTI3ODIrJi0sNC0dMjIyPDo4MDI0NCg
NKioqHh4eEhARERcfDg4OODg4LTA0FiAqJygqNjY2GBkYPDw8FhYWOjo6Li4uNjY5Ojo9MTQ0AAA
ABg0ROzc2OzcyKi4sLSwwJyUGGCIgMDI2PjcxNCMEKhkEPicNGRgkLS00MjQ4HSAqPigAAgkJKBE
VMjIwHBQUMRQMPD48JwcHODcyIiAjGBgWHBcaEAYCIhIUDQ8JNDQ0JCMmJCQiMhYSHh0VEyQjOjM
2LiMhGg0LHBwaAgIEKSYmLCopMDIxMi8yODU4BAMJHhoeHw0LLg8GLCstBwgGGRATIhsaMy4wJyA
cODs4JyYTNDIxJyEiGRgSIhwUGhgYDg4QGRcaCwMCCBYjAgAAFhYaKwYHBgICGRYTNCklKBsZNjc
yNDYZGRQYEgMCLRgcOzY4EQoJHBoKPj4vNjQ2LigrKhMMPjs3Ny8rLi4qBRIZPjw8AgIAEAUJODc
2Hh0cGhoYNzw8Njg2NyMhPDw+Ew4RPD06IhohMzI2EAgCPDo8GQQGGhgWMC4wBwgKAAADIiUjGRM
KHCsqIw0LNigrOj08Ng8IMgYGMC8rFRYRPD04AAMCLTk6JysiFBIJNDcjIRsMECEqOjc8PDo2Mjo
5ODgrNhgcPj48Pjw+PD4+BAAAAhUiKCImKhIEBQcCIA0DGRkKKhoMBhkZIBQKEQ4ZIRsHFhoZJjY
3LjYrLDArCB0jPDsyNDQLNhgEHh0lNCoJCwABHhMWMi82KCQiHBwUGQ0DNCMXMDI4KCwnGRYCABg
aGTI3OSMOHSMQJw8HIAQGBwACOBwMKw8HERcoJyMrPD02JygcMRsMIBoCMTcrECcqNCgDIBMCEgk
RPjk7EBACByMqGRwTAhwiOBUMMjkxHBkjLTgyODszEgACPhsLAwADCH/C05FVFNDQVBFMi4wAwEA
AAAh/ihCYW5uZXJzaG9wIEdJRiBBbmltYXRvciwgd3d3LnNlbHRlY28uY29tACH5BAAsAQAALAAA
AADmAV0AAAf/gACCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6v
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
Ow==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17249</attachid>
            <date>2007-11-13 17:45:55 -0800</date>
            <delta_ts>2007-11-13 17:45:55 -0800</delta_ts>
            <desc>Sample image (1) relying on &quot;clear to previous&quot;</desc>
            <filename>3976cj.gif</filename>
            <type>image/gif</type>
            <size>3976</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17250</attachid>
            <date>2007-11-13 17:47:23 -0800</date>
            <delta_ts>2007-11-13 17:47:23 -0800</delta_ts>
            <desc>Sample image (2) relying on &quot;clear to previous&quot;</desc>
            <filename>4123bm.gif</filename>
            <type>image/gif</type>
            <size>4123</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">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
qpKtxSfOs9AlzqpFSkXaRSEAOw==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17320</attachid>
            <date>2007-11-16 14:18:35 -0800</date>
            <delta_ts>2007-11-26 18:13:12 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>21950</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNzg1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDctMTEtMTYgIFBldGVyIEthc3RpbmcgIDx6ZXJvZHB4QGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk3NAorICAgICAgICBHSUYg
ZGVjb2Rpbmcgc2hvdWxkIHJlc3BlY3QgZnJhbWVzJyBzcGVjaWZpZWQgZGlzcG9zYWwgbWV0aG9k
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6UkdCQTMyQnVmZmVyOjopOgorICAgICAgICAoV2ViQ29yZTo6UkdC
QTMyQnVmZmVyOjpSR0JBMzJCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6UkdCQTMyQnVmZmVy
OjpkaXNwb3NhbE1ldGhvZCk6CisgICAgICAgIChXZWJDb3JlOjpSR0JBMzJCdWZmZXI6OnNldERp
c3Bvc2FsTWV0aG9kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lG
SW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6ZnJh
bWVCdWZmZXJBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6aW5p
dEZyYW1lQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6cHJlcEVt
cHR5RnJhbWVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R0lGSW1hZ2VEZWNvZGVyOjpoYXZl
RGVjb2RlZFJvdyk6CisgICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OmZyYW1lQ29t
cGxldGUpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURl
Y29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VS
ZWFkZXIuY3BwOgorICAgICAgICAoR0lGSW1hZ2VSZWFkZXI6OnJlYWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5oOgorICAgICAgICAoR0lG
RnJhbWVSZWFkZXI6OkdJRkZyYW1lUmVhZGVyKToKKwogMjAwNy0xMS0xNiAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgJKHJldmlzaW9uIDI3
ODU2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNDEsOSArNDEsMTcgQEAgY2xhc3MgUkdCQTMyQnVmZmVyCiB7CiBw
dWJsaWM6CiAgICAgZW51bSBGcmFtZVN0YXR1cyB7IEZyYW1lRW1wdHksIEZyYW1lUGFydGlhbCwg
RnJhbWVDb21wbGV0ZSB9OworICAgIGVudW0gRnJhbWVEaXNwb3NhbE1ldGhvZCB7CisgICAgICAg
IC8vIElmIHlvdSBjaGFuZ2UgdGhlIG51bWVyaWMgdmFsdWVzIG9mIHRoZXNlLCBtYWtlIHN1cmUg
eW91IGF1ZGl0IGFsbAorICAgICAgICAvLyB1c2VycywgYXMgc29tZSB1c2VycyBtYXkgY2FzdCBy
YXcgdmFsdWVzIHRvL2Zyb20gdGhlc2UgY29uc3RhbnRzLgorICAgICAgICBEaXNwb3NlTm90U3Bl
Y2lmaWVkID0gMCwgICAgICAgLy8gTGVhdmUgZnJhbWUgaW4gZnJhbWVidWZmZXIKKyAgICAgICAg
RGlzcG9zZUtlZXAgPSAxLCAgICAgICAgICAgICAgIC8vIExlYXZlIGZyYW1lIGluIGZyYW1lYnVm
ZmVyCisgICAgICAgIERpc3Bvc2VPdmVyd3JpdGVCZ2NvbG9yID0gMiwgICAvLyBDbGVhciBmcmFt
ZSB0byB0cmFuc3BhcmVudAorICAgICAgICBEaXNwb3NlT3ZlcndyaXRlUHJldmlvdXMgPSAzLCAg
Ly8gQ2xlYXIgZnJhbWUgdG8gcHJldmlvdXMgZnJhbWVidWZmZXIgY29udGVudHMKKyAgICB9Owog
CiAgICAgUkdCQTMyQnVmZmVyKCkgOiBtX2hlaWdodCgwKSwgbV9zdGF0dXMoRnJhbWVFbXB0eSks
IG1fZHVyYXRpb24oMCksCi0gICAgICAgICAgICAgICAgICAgICBtX2luY2x1ZGVJbk5leHRGcmFt
ZShmYWxzZSksIG1faGFzQWxwaGEoZmFsc2UpCisgICAgICAgICAgICAgICAgICAgICBtX2Rpc3Bv
c2FsTWV0aG9kKERpc3Bvc2VOb3RTcGVjaWZpZWQpLCBtX2hhc0FscGhhKGZhbHNlKQogICAgIHt9
IAogCiAgICAgY29uc3QgUkdCQTMyQXJyYXkmIGJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbV9ieXRl
czsgfQpAQCAtNTIsMTQgKzYwLDE0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBoZWlnaHQoKSBj
b25zdCB7IHJldHVybiBtX2hlaWdodDsgfQogICAgIEZyYW1lU3RhdHVzIHN0YXR1cygpIGNvbnN0
IHsgcmV0dXJuIG1fc3RhdHVzOyB9CiAgICAgdW5zaWduZWQgZHVyYXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX2R1cmF0aW9uOyB9Ci0gICAgYm9vbCBpbmNsdWRlSW5OZXh0RnJhbWUoKSBjb25zdCB7
IHJldHVybiBtX2luY2x1ZGVJbk5leHRGcmFtZTsgfQorICAgIEZyYW1lRGlzcG9zYWxNZXRob2Qg
ZGlzcG9zYWxNZXRob2QoKSBjb25zdCB7IHJldHVybiBtX2Rpc3Bvc2FsTWV0aG9kOyB9CiAgICAg
Ym9vbCBoYXNBbHBoYSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQWxwaGE7IH0KIAogICAgIHZvaWQg
c2V0UmVjdChjb25zdCBJbnRSZWN0JiByKSB7IG1fcmVjdCA9IHI7IH0KICAgICB2b2lkIGVuc3Vy
ZUhlaWdodCh1bnNpZ25lZCByb3dJbmRleCkgeyBpZiAocm93SW5kZXggPiBtX2hlaWdodCkgbV9o
ZWlnaHQgPSByb3dJbmRleDsgfQogICAgIHZvaWQgc2V0U3RhdHVzKEZyYW1lU3RhdHVzIHMpIHsg
bV9zdGF0dXMgPSBzOyB9CiAgICAgdm9pZCBzZXREdXJhdGlvbih1bnNpZ25lZCBkdXJhdGlvbikg
eyBtX2R1cmF0aW9uID0gZHVyYXRpb247IH0KLSAgICB2b2lkIHNldEluY2x1ZGVJbk5leHRGcmFt
ZShib29sIG4pIHsgbV9pbmNsdWRlSW5OZXh0RnJhbWUgPSBuOyB9CisgICAgdm9pZCBzZXREaXNw
b3NhbE1ldGhvZChGcmFtZURpc3Bvc2FsTWV0aG9kIG1ldGhvZCkgeyBtX2Rpc3Bvc2FsTWV0aG9k
ID0gbWV0aG9kOyB9CiAgICAgdm9pZCBzZXRIYXNBbHBoYShib29sIGFscGhhKSB7IG1faGFzQWxw
aGEgPSBhbHBoYTsgfQogCiAgICAgc3RhdGljIHZvaWQgc2V0UkdCQSh1bnNpZ25lZCYgcG9zLCB1
bnNpZ25lZCByLCB1bnNpZ25lZCBnLCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBhKQpAQCAtODYsNyAr
OTQsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faGVpZ2h0OyAvLyBUaGUgaGVpZ2h0ICh0
aGUgbnVtYmVyIG9mIHJvd3Mgd2UndmUgZnVsbHkgZGVjb2RlZCkuCiAgICAgRnJhbWVTdGF0dXMg
bV9zdGF0dXM7IC8vIFdoZXRoZXIgb3Igbm90IHRoaXMgZnJhbWUgaXMgY29tcGxldGVseSBmaW5p
c2hlZCBkZWNvZGluZy4KICAgICB1bnNpZ25lZCBtX2R1cmF0aW9uOyAvLyBUaGUgYW5pbWF0aW9u
IGRlbGF5LgotICAgIGJvb2wgbV9pbmNsdWRlSW5OZXh0RnJhbWU7IC8vIFdoZXRoZXIgb3Igbm90
IHRoZSBuZXh0IGJ1ZmZlciBzaG91bGQgYmUgaW5pdGlhbGx5IHBvcHVsYXRlZCB3aXRoIG91ciBk
YXRhLgorICAgIEZyYW1lRGlzcG9zYWxNZXRob2QgbV9kaXNwb3NhbE1ldGhvZDsgLy8gV2hhdCB0
byBkbyB3aXRoIHRoaXMgZnJhbWUncyBkYXRhIHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBuZXh0IGZy
YW1lLgogICAgIGJvb2wgbV9oYXNBbHBoYTsgLy8gV2hldGhlciBvciBub3QgYW55IG9mIHRoZSBw
aXhlbHMgaW4gdGhlIGJ1ZmZlciBoYXZlIHRyYW5zcGFyZW5jeS4KIH07CiAKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNv
ZGVyLmNwcAkocmV2aXNpb24gMjc4NTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNyArMTU4
LDcgQEAgaW50IEdJRkltYWdlRGVjb2Rlcjo6cmVwZXRpdGlvbkNvdW50KCkgYwogCiBSR0JBMzJC
dWZmZXIqIEdJRkltYWdlRGVjb2Rlcjo6ZnJhbWVCdWZmZXJBdEluZGV4KHNpemVfdCBpbmRleCkK
IHsKLSAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IGZyYW1lQ291bnQoKSkKKyAgICBpZiAo
aW5kZXggPj0gZnJhbWVDb3VudCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIFJHQkEzMkJ1
ZmZlciYgZnJhbWUgPSBtX2ZyYW1lQnVmZmVyQ2FjaGVbaW5kZXhdOwpAQCAtMTk0LDkgKzE5NCw3
IEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpkZWNvZGluZ0hhbHRlZCh1bnMKICAgICBtX3JlYWRl
ci0+c2V0UmVhZE9mZnNldChtX2RhdGEtPnNpemUoKSAtIGJ5dGVzTGVmdCk7CiB9CiAKLXZvaWQg
R0lGSW1hZ2VEZWNvZGVyOjppbml0RnJhbWVCdWZmZXIoUkdCQTMyQnVmZmVyJiBidWZmZXIsIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSR0JBMzJCdWZmZXIqIHByZXZp
b3VzQnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNv
bXBvc2l0ZVdpdGhQcmV2aW91c0ZyYW1lKQordm9pZCBHSUZJbWFnZURlY29kZXI6OmluaXRGcmFt
ZUJ1ZmZlcih1bnNpZ25lZCBmcmFtZUluZGV4KQogewogICAgIC8vIEluaXRpYWxpemUgdGhlIGZy
YW1lIHJlY3QgaW4gb3VyIGJ1ZmZlci4KICAgICBJbnRSZWN0IGZyYW1lUmVjdChtX3JlYWRlci0+
ZnJhbWVYT2Zmc2V0KCksIG1fcmVhZGVyLT5mcmFtZVlPZmZzZXQoKSwKQEAgLTIwOCw4MCArMjA2
LDcxIEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjppbml0RnJhbWVCdWZmZXIoUkcKICAgICBpZiAo
ZnJhbWVSZWN0LmJvdHRvbSgpID4gbV9zaXplLmhlaWdodCgpKQogICAgICAgICBmcmFtZVJlY3Qu
c2V0SGVpZ2h0KG1fc2l6ZS5oZWlnaHQoKSAtIG1fcmVhZGVyLT5mcmFtZVlPZmZzZXQoKSk7CiAK
LSAgICBidWZmZXIuc2V0UmVjdChmcmFtZVJlY3QpOwotCi0gICAgYm9vbCBpc1N1YlJlY3QgPSAo
ZnJhbWVSZWN0LngoKSA+IDAgfHwgZnJhbWVSZWN0LnkoKSA+IDAgfHwKLSAgICAgICAgICAgICAg
ICAgICAgICBmcmFtZVJlY3Qud2lkdGgoKSA8IG1fc2l6ZS53aWR0aCgpIHx8Ci0gICAgICAgICAg
ICAgICAgICAgICAgZnJhbWVSZWN0LmhlaWdodCgpIDwgbV9zaXplLmhlaWdodCgpKTsKKyAgICBS
R0JBMzJCdWZmZXIqIGNvbnN0IGJ1ZmZlciA9ICZtX2ZyYW1lQnVmZmVyQ2FjaGVbZnJhbWVJbmRl
eF07CisgICAgYnVmZmVyLT5zZXRSZWN0KGZyYW1lUmVjdCk7CiAgICAgCi0gICAgLy8gTGV0J3Mg
cmVzaXplIG91ciBidWZmZXIgbm93IHRvIHRoZSBjb3JyZWN0IHdpZHRoL2hlaWdodCBhbmQgdGhl
bgotICAgIC8vIGluaXRpYWxpemUgcG9ydGlvbnMgb2YgaXQgaWYgbmVlZGVkLgotICAgIFJHQkEz
MkFycmF5JiBieXRlcyA9IGJ1ZmZlci5ieXRlcygpOwotICAgICAgICAKLSAgICAvLyBJZiB0aGUg
ZGlzcG9zYWwgbWV0aG9kIG9mIHRoZSBwcmV2aW91cyBmcmFtZSBzYWlkIHRvIHN0aWNrIGFyb3Vu
ZCwgdGhlbiB3ZSBuZWVkICAgICAKLSAgICAvLyB0byBjb3B5IHRoYXQgZnJhbWUgaW50byBvdXIg
ZnJhbWUuICBXZSBhbHNvIGRvbnQgd2FudCB0byBoYXZlIGFueSBpbXBhY3Qgb24KLSAgICAvLyBh
bnl0aGluZyBvdXRzaWRlIG91ciBmcmFtZSdzIHJlY3QsIHNvIGlmIHdlIGRvbid0IG92ZXJsYXkg
dGhlIGVudGlyZSBpbWFnZSwKLSAgICAvLyB0aGVuIGFsc28gY29tcG9zaXRlIHdpdGggdGhlIHBy
ZXZpb3VzIGZyYW1lLgotICAgIGlmIChwcmV2aW91c0J1ZmZlciAmJiAoY29tcG9zaXRlV2l0aFBy
ZXZpb3VzRnJhbWUgfHwgaXNTdWJSZWN0KSkgewotICAgICAgICBieXRlcyA9IHByZXZpb3VzQnVm
ZmVyLT5ieXRlcygpOwotICAgICAgICBidWZmZXIuZW5zdXJlSGVpZ2h0KG1fc2l6ZS5oZWlnaHQo
KSk7Ci0gICAgICAgIGJ1ZmZlci5zZXRIYXNBbHBoYShwcmV2aW91c0J1ZmZlci0+aGFzQWxwaGEo
KSk7Ci0gICAgfQotICAgIGVsc2UgLy8gUmVzaXplIHRvIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9m
IHRoZSBpbWFnZS4KLSAgICAgICAgYnl0ZXMucmVzaXplKG1fc2l6ZS53aWR0aCgpICogbV9zaXpl
LmhlaWdodCgpKTsKKyAgICBpZiAoZnJhbWVJbmRleCA9PSAwKSB7CisgICAgICAgIC8vIFRoaXMg
aXMgdGhlIGZpcnN0IGZyYW1lLCBzbyB3ZSdyZSBub3QgcmVseWluZyBvbiBhbnkgcHJldmlvdXMg
ZGF0YS4KKyAgICAgICAgcHJlcEVtcHR5RnJhbWVCdWZmZXIoYnVmZmVyKTsKKyAgICB9IGVsc2Ug
eworICAgICAgICAvLyBUaGUgc3RhcnRpbmcgc3RhdGUgZm9yIHRoaXMgZnJhbWUgZGVwZW5kcyBv
biB0aGUgcHJldmlvdXMgZnJhbWUncworICAgICAgICAvLyBkaXNwb3NhbCBtZXRob2QuCisgICAg
ICAgIC8vCisgICAgICAgIC8vIEZyYW1lcyB0aGF0IHVzZSB0aGUgRGlzcG9zZU92ZXJ3cml0ZVBy
ZXZpb3VzIG1ldGhvZCBhcmUgZWZmZWN0aXZlbHkKKyAgICAgICAgLy8gbm8tb3BzIGluIHRlcm1z
IG9mIGNoYW5naW5nIHRoZSBzdGFydGluZyBzdGF0ZSBvZiBhIGZyYW1lIGNvbXBhcmVkIHRvCisg
ICAgICAgIC8vIHRoZSBzdGFydGluZyBzdGF0ZSBvZiB0aGUgcHJldmlvdXMgZnJhbWUsIHNvIHNr
aXAgb3ZlciB0aGVtLiAgKElmIHRoZQorICAgICAgICAvLyBmaXJzdCBmcmFtZSBzcGVjaWZpZXMg
dGhpcyBtZXRob2QsIGl0IHdpbGwgZ2V0IHRyZWF0ZWQgbGlrZQorICAgICAgICAvLyBEaXNwb3Nl
T3ZlcndyaXRlQmdjb2xvciBiZWxvdyBhbmQgcmVzZXQgdG8gYSBjb21wbGV0ZWx5IGVtcHR5IGlt
YWdlLikKKyAgICAgICAgY29uc3QgUkdCQTMyQnVmZmVyKiBwcmV2QnVmZmVyID0gJm1fZnJhbWVC
dWZmZXJDYWNoZVstLWZyYW1lSW5kZXhdOworICAgICAgICBSR0JBMzJCdWZmZXI6OkZyYW1lRGlz
cG9zYWxNZXRob2QgcHJldk1ldGhvZCA9CisgICAgICAgICAgICBwcmV2QnVmZmVyLT5kaXNwb3Nh
bE1ldGhvZCgpOworICAgICAgICB3aGlsZSAoKGZyYW1lSW5kZXggPiAwKSAmJgorICAgICAgICAg
ICAgICAgIChwcmV2TWV0aG9kID09IFJHQkEzMkJ1ZmZlcjo6RGlzcG9zZU92ZXJ3cml0ZVByZXZp
b3VzKSkgeworICAgICAgICAgICAgcHJldkJ1ZmZlciA9ICZtX2ZyYW1lQnVmZmVyQ2FjaGVbLS1m
cmFtZUluZGV4XTsKKyAgICAgICAgICAgIHByZXZNZXRob2QgPSBwcmV2QnVmZmVyLT5kaXNwb3Nh
bE1ldGhvZCgpOworICAgICAgICB9CiAKLSAgICBpZiAoaXNTdWJSZWN0KSB7Ci0gICAgICAgIC8v
IFdlIG5lZWQgdG8gZ28gYWhlYWQgYW5kIGluaXRpYWxpemUgdGhlIGZpcnN0IGZyYW1lIHRvIG1h
a2Ugc3VyZQotICAgICAgICAvLyB0aGF0IGFyZWFzIG91dHNpZGUgdGhlIHN1YnJlY3Qgc3RhcnQg
b2ZmIHRyYW5zcGFyZW50LgotICAgICAgICBpZiAoIXByZXZpb3VzQnVmZmVyKSB7Ci0gICAgICAg
ICAgICBieXRlcy5maWxsKDApOwotICAgICAgICAgICAgYnVmZmVyLnNldEhhc0FscGhhKHRydWUp
OwotICAgICAgICB9IGVsc2UgaWYgKCFjb21wb3NpdGVXaXRoUHJldmlvdXNGcmFtZSkgewotICAg
ICAgICAgICAgLy8gTm93IHRoaXMgaXMgYW4gaW50ZXJlc3RpbmcgY2FzZS4gIEluIHRoZSBjYXNl
IHdoZXJlIHdlIGZpbGwgCi0gICAgICAgICAgICAvLyB0aGUgZW50aXJlIGltYWdlLCB3ZSBlZmZl
Y3RpdmVseSBkbyBhIGZ1bGwgY2xlYXIgb2YgdGhlIGltYWdlIChhbmQgdGh1cwotICAgICAgICAg
ICAgLy8gZG9uJ3QgaGF2ZSB0byBpbml0aWFsaXplIGFueXRoaW5nIGluIG91ciBidWZmZXIpLgot
ICAgICAgICAgICAgLy8gCi0gICAgICAgICAgICAvLyBIb3dldmVyIGluIHRoZSBjYXNlIHdoZXJl
IHdlIG9ubHkgZmlsbCBhIHBpZWNlIG9mIHRoZSBpbWFnZSwgdHdvIHByb2JsZW1zIG9jY3VyOgot
ICAgICAgICAgICAgLy8gKDEpIFdlIG5lZWQgdG8gd2lwZSBvdXQgdGhlIGFyZWEgb2NjdXBpZWQg
YnkgdGhlIHByZXZpb3VzIGZyYW1lLCB3aGljaAotICAgICAgICAgICAgLy8gY291bGQgYWxzbyBo
YXZlIGJlZW4gYSBzdWJyZWN0LgotICAgICAgICAgICAgLy8gKDIpIEFueXRoaW5nIG91dHNpZGUg
dGhlIHByZXZpb3VzIGZyYW1lJ3MgcmVjdCAqYW5kKiBvdXRzaWRlIG91ciBjdXJyZW50Ci0gICAg
ICAgICAgICAvLyBmcmFtZSdzIHJlY3Qgc2hvdWxkIGJlIGxlZnQgYWxvbmUuCi0gICAgICAgICAg
ICAvLyBXZSBoYXZlIGhhbmRsZWQgKDIpIGJ5IGp1c3QgaW5pdGlhbGl6aW5nIG91ciBidWZmZXIg
ZnJvbSB0aGUgcHJldmlvdXMgZnJhbWUuCi0gICAgICAgICAgICAvLyBPdXIgc3VicmVjdCB3aWxs
IGNvcnJlY3RseSBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGZyYW1lJ3MgY29udGVudHMgYXMgd2UK
LSAgICAgICAgICAgIC8vIGRlY29kZSByb3dzLiAgSG93ZXZlciB0aGF0IHN0aWxsIGxlYXZlcyB0
aGUgcHJvYmxlbSBvZiBoYXZpbmcgdG8gd2lwZSBvdXQKLSAgICAgICAgICAgIC8vIHRoZSBhcmVh
IG9jY3VwaWVkIGJ5IHRoZSBwcmV2aW91cyBmcmFtZSB0aGF0IGRvZXMgbm90IG92ZXJsYXAgd2l0
aAotICAgICAgICAgICAgLy8gdGhlIG5ldyBmcmFtZS4KLSAgICAgICAgICAgIGlmIChwcmV2aW91
c0J1ZmZlci0+cmVjdCgpICE9IGZyYW1lUmVjdCkgewotICAgICAgICAgICAgICAgIC8vIFdlIGhh
dmUgdG8gcmVzdG9yZSB0aGUgZW50aXJlIHByZXZpb3VzIHN1YmZyYW1lIHdpdGggdGhlIGZpcnN0
IGZyYW1lJ3MgY29udGVudHMuCi0gICAgICAgICAgICAgICAgUkdCQTMyQnVmZmVyKiBmaXJzdEJ1
ZmZlciA9ICZtX2ZyYW1lQnVmZmVyQ2FjaGVbMF07Ci0gICAgICAgICAgICAgICAgYm9vbCBzYXdB
bHBoYSA9IGJ1ZmZlci5oYXNBbHBoYSgpOwotICAgICAgICAgICAgICAgIEludFJlY3QgcHJldlJl
Y3QgPSBwcmV2aW91c0J1ZmZlci0+cmVjdCgpOwotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGVu
ZCA9IHByZXZSZWN0LnkoKSArIHByZXZSZWN0LmhlaWdodCgpOwotCi0gICAgICAgICAgICAgICAg
Ly8gR2l2ZW4gdGhhdCB3ZSBhbGxvY2F0ZSBidWZmZXJzIHRvIGJlIHRoZSBzYW1lIHNpemUgYXMg
cHJldmlvdXMgYnVmZmVycywKLSAgICAgICAgICAgICAgICAvLyBJIHRoaW5rIHRoaXMgYXNzZXJ0
IHNob3VsZCBiZSB2YWxpZC4KLSAgICAgICAgICAgICAgICBBU1NFUlQoSW50UmVjdChJbnRQb2lu
dCgwLDApLCBtX3NpemUpLmNvbnRhaW5zKGZpcnN0QnVmZmVyLT5yZWN0KCkpKTsKLQotICAgICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHByZXZSZWN0LnkoKTsgaSA8IGVuZDsgaSsrKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkKiBjdXJyID0gYnVmZmVyLmJ5dGVzKCkuZGF0
YSgpICsgKGkgKiBtX3NpemUud2lkdGgoKSArIHByZXZSZWN0LngoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkKiBvcmlnID0gZmlyc3RCdWZmZXItPmJ5dGVzKCkuZGF0YSgpICsgKGkg
KiBtX3NpemUud2lkdGgoKSArIHByZXZSZWN0LngoKSk7Ci0gICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkKiBlbmQgPSBjdXJyICsgcHJldlJlY3Qud2lkdGgoKTsKLSAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQqIG9yaWdFbmQgPSBvcmlnICsgZmlyc3RCdWZmZXItPnJlY3QoKS53aWR0aCgp
OwotCi0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChjdXJyICE9IGVuZCAmJiBvcmlnICE9IG9y
aWdFbmQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2F3QWxwaGEpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzYXdBbHBoYSA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnVmZmVyLnNldEhhc0FscGhhKHRydWUpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgKmN1cnIrKyA9ICpvcmlnKys7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgIGlmICgocHJldk1l
dGhvZCA9PSBSR0JBMzJCdWZmZXI6OkRpc3Bvc2VOb3RTcGVjaWZpZWQpIHx8CisgICAgICAgICAg
ICAgICAgKHByZXZNZXRob2QgPT0gUkdCQTMyQnVmZmVyOjpEaXNwb3NlS2VlcCkpIHsKKyAgICAg
ICAgICAgIC8vIFByZXNlcnZlIHRoZSBsYXN0IGZyYW1lIGFzIHRoZSBzdGFydGluZyBzdGF0ZSBm
b3IgdGhpcyBmcmFtZS4KKyAgICAgICAgICAgIGJ1ZmZlci0+Ynl0ZXMoKSA9IHByZXZCdWZmZXIt
PmJ5dGVzKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBXZSB3YW50IHRvIGNs
ZWFyIHRoZSBwcmV2aW91cyBmcmFtZSB0byB0cmFuc3BhcmVudCwgd2l0aG91dAorICAgICAgICAg
ICAgLy8gYWZmZWN0aW5nIHBpeGVscyBpbiB0aGUgaW1hZ2Ugb3V0c2lkZSBvZiB0aGUgZnJhbWUu
CisgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBwcmV2UmVjdCA9IHByZXZCdWZmZXItPnJlY3Qo
KTsKKyAgICAgICAgICAgIGlmICgoZnJhbWVJbmRleCA9PSAwKSB8fAorICAgICAgICAgICAgICAg
ICAgICBwcmV2UmVjdC5jb250YWlucyhJbnRSZWN0KEludFBvaW50KDAsIDApLCBtX3NpemUpKSkg
eworICAgICAgICAgICAgICAgIC8vIENsZWFyaW5nIHRoZSBmaXJzdCBmcmFtZSwgb3IgYSBmcmFt
ZSB0aGUgc2l6ZSBvZiB0aGUgd2hvbGUKKyAgICAgICAgICAgICAgICAvLyBpbWFnZSwgcmVzdWx0
cyBpbiBhIGNvbXBsZXRlbHkgZW1wdHkgaW1hZ2UuCisgICAgICAgICAgICAgICAgcHJlcEVtcHR5
RnJhbWVCdWZmZXIoYnVmZmVyKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
IC8vIENvcHkgdGhlIHdob2xlIHByZXZpb3VzIGJ1ZmZlciwgdGhlbiBjbGVhciBqdXN0IGl0cyBm
cmFtZS4KKyAgICAgICAgICAgICAgYnVmZmVyLT5ieXRlcygpID0gcHJldkJ1ZmZlci0+Ynl0ZXMo
KTsKKyAgICAgICAgICAgICAgU2tCaXRtYXAmIGJpdG1hcCA9IGJ1ZmZlci0+Yml0bWFwKCk7Cisg
ICAgICAgICAgICAgIGZvciAoaW50IHkgPSBwcmV2UmVjdC55KCk7IHkgPCBwcmV2UmVjdC5ib3R0
b20oKTsgKyt5KSB7CisgICAgICAgICAgICAgICAgICB1bnNpZ25lZCogY29uc3QgY3VycmVudFJv
dyA9CisgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLmJ5dGVzKCkuZGF0YSgpICsgKHkgKiBt
X3NpemUud2lkdGgoKSk7CisgICAgICAgICAgICAgICAgICBmb3IgKGludCB4ID0gcHJldlJlY3Qu
eCgpOyB4IDwgcHJldlJlY3QucmlnaHQoKTsgKyt4KQorICAgICAgICAgICAgICAgICAgICAgIGJ1
ZmZlci0+c2V0UkdCQShjdXJyZW50Um93ICsgeCwgMCwgMCwgMCwgMCk7CisgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgaWYgKChwcmV2UmVjdC53aWR0aCgpID4gMCkgJiYgKHByZXZSZWN0
LmhlaWdodCgpID4gMCkpCisgICAgICAgICAgICAgICAgYnVmZmVyLT5zZXRIYXNBbHBoYSh0cnVl
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAogICAgIC8vIFVwZGF0ZSBvdXIg
c3RhdHVzIHRvIGJlIHBhcnRpYWxseSBjb21wbGV0ZS4KLSAgICBidWZmZXIuc2V0U3RhdHVzKFJH
QkEzMkJ1ZmZlcjo6RnJhbWVQYXJ0aWFsKTsKKyAgICBidWZmZXItPnNldFN0YXR1cyhSR0JBMzJC
dWZmZXI6OkZyYW1lUGFydGlhbCk7CisKKyAgICAvLyBSZXNldCB0aGUgYWxwaGEgcGl4ZWwgdHJh
Y2tlciBmb3IgdGhpcyBmcmFtZS4KKyAgICBtX2N1cnJlbnRCdWZmZXJTYXdBbHBoYSA9IGZhbHNl
OworfQorCit2b2lkIEdJRkltYWdlRGVjb2Rlcjo6cHJlcEVtcHR5RnJhbWVCdWZmZXIoUkdCQTMy
QnVmZmVyKiBidWZmZXIpIGNvbnN0Cit7CisgICAgYnVmZmVyLT5ieXRlcygpLnJlc2l6ZShtX3Np
emUud2lkdGgoKSAqIG1fc2l6ZS5oZWlnaHQoKSk7CisgICAgYnVmZmVyLT5ieXRlcygpLmZpbGwo
MCk7CisgICAgYnVmZmVyLT5zZXRIYXNBbHBoYSh0cnVlKTsKIH0KIAogdm9pZCBHSUZJbWFnZURl
Y29kZXI6OmhhdmVEZWNvZGVkUm93KHVuc2lnbmVkIGZyYW1lSW5kZXgsCkBAIC0yOTAsMTMgKzI3
OSwxMCBAQCB2b2lkIEdJRkltYWdlRGVjb2Rlcjo6aGF2ZURlY29kZWRSb3codW5zCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgcm93TnVtYmVyLCAgLy8gVGhl
IHJvdyBpbmRleAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IHJlcGVhdENvdW50KSAvLyBIb3cgbWFueSB0aW1lcyB0byByZXBlYXQgdGhlIHJvdwogewotICAg
IC8vIFJlc2l6ZSB0byB0aGUgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgaW1hZ2UuCisgICAgLy8g
SW5pdGlhbGl6ZSB0aGUgZnJhbWUgaWYgbmVjZXNzYXJ5LgogICAgIFJHQkEzMkJ1ZmZlciYgYnVm
ZmVyID0gbV9mcmFtZUJ1ZmZlckNhY2hlW2ZyYW1lSW5kZXhdOwotICAgIFJHQkEzMkJ1ZmZlciog
cHJldmlvdXNCdWZmZXIgPSAoZnJhbWVJbmRleCA+IDApID8gJm1fZnJhbWVCdWZmZXJDYWNoZVtm
cmFtZUluZGV4LTFdIDogMDsKLSAgICBib29sIGNvbXBvc2l0ZVdpdGhQcmV2aW91c0ZyYW1lID0g
cHJldmlvdXNCdWZmZXIgJiYgcHJldmlvdXNCdWZmZXItPmluY2x1ZGVJbk5leHRGcmFtZSgpOwot
CiAgICAgaWYgKGJ1ZmZlci5zdGF0dXMoKSA9PSBSR0JBMzJCdWZmZXI6OkZyYW1lRW1wdHkpCi0g
ICAgICAgIGluaXRGcmFtZUJ1ZmZlcihidWZmZXIsIHByZXZpb3VzQnVmZmVyLCBjb21wb3NpdGVX
aXRoUHJldmlvdXNGcmFtZSk7CisgICAgICAgIGluaXRGcmFtZUJ1ZmZlcihmcmFtZUluZGV4KTsK
IAogICAgIC8vIERvIG5vdGhpbmcgZm9yIGJvZ3VzIGRhdGEuCiAgICAgaWYgKHJvd0J1ZmZlciA9
PSAwIHx8IHN0YXRpY19jYXN0PGludD4obV9yZWFkZXItPmZyYW1lWU9mZnNldCgpICsgcm93TnVt
YmVyKSA+PSBtX3NpemUuaGVpZ2h0KCkpCkBAIC0zMjEsMjMgKzMwNywxNSBAQCB2b2lkIEdJRklt
YWdlRGVjb2Rlcjo6aGF2ZURlY29kZWRSb3codW5zCiAgICAgdW5zaWduZWQqIGN1cnJEc3QgPSBk
c3Q7CiAgICAgdW5zaWduZWQgY2hhciogY3VycmVudFJvd0J5dGUgPSByb3dCdWZmZXI7CiAgICAg
Ci0gICAgYm9vbCBoYXNBbHBoYSA9IG1fcmVhZGVyLT5pc1RyYW5zcGFyZW50KCk7IAotICAgIGJv
b2wgc2F3QWxwaGEgPSBmYWxzZTsKICAgICB3aGlsZSAoY3VycmVudFJvd0J5dGUgIT0gcm93RW5k
ICYmIGN1cnJEc3QgPCBkc3RFbmQpIHsKLSAgICAgICAgaWYgKCghaGFzQWxwaGEgfHwgKmN1cnJl
bnRSb3dCeXRlICE9IG1fcmVhZGVyLT50cmFuc3BhcmVudFBpeGVsKCkpICYmICpjdXJyZW50Um93
Qnl0ZSA8IGNvbG9yTWFwU2l6ZSkgeworICAgICAgICBpZiAoKCFtX3JlYWRlci0+aXNUcmFuc3Bh
cmVudCgpIHx8ICpjdXJyZW50Um93Qnl0ZSAhPSBtX3JlYWRlci0+dHJhbnNwYXJlbnRQaXhlbCgp
KSAmJiAqY3VycmVudFJvd0J5dGUgPCBjb2xvck1hcFNpemUpIHsKICAgICAgICAgICAgIHVuc2ln
bmVkIGNvbG9ySW5kZXggPSAqY3VycmVudFJvd0J5dGUgKiAzOwogICAgICAgICAgICAgdW5zaWdu
ZWQgcmVkID0gY29sb3JNYXBbY29sb3JJbmRleF07CiAgICAgICAgICAgICB1bnNpZ25lZCBncmVl
biA9IGNvbG9yTWFwW2NvbG9ySW5kZXggKyAxXTsKICAgICAgICAgICAgIHVuc2lnbmVkIGJsdWUg
PSBjb2xvck1hcFtjb2xvckluZGV4ICsgMl07CiAgICAgICAgICAgICBSR0JBMzJCdWZmZXI6OnNl
dFJHQkEoKmN1cnJEc3QsIHJlZCwgZ3JlZW4sIGJsdWUsIDI1NSk7CiAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBpZiAoIXNhd0FscGhhKSB7Ci0gICAgICAgICAgICAgICAgc2F3QWxwaGEg
PSB0cnVlOwotICAgICAgICAgICAgICAgIGJ1ZmZlci5zZXRIYXNBbHBoYSh0cnVlKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb21wb3NpdGVXaXRoUHJl
dmlvdXNGcmFtZSkKLSAgICAgICAgICAgICAgICBSR0JBMzJCdWZmZXI6OnNldFJHQkEoKmN1cnJE
c3QsIDAsIDAsIDAsIDApOworICAgICAgICAgICAgbV9jdXJyZW50QnVmZmVyU2F3QWxwaGEgPSB0
cnVlOwogICAgICAgICB9CiAgICAgICAgIGN1cnJEc3QrKzsKICAgICAgICAgY3VycmVudFJvd0J5
dGUrKzsKQEAgLTM2MywxMyArMzQxLDQ5IEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpoYXZlRGVj
b2RlZFJvdyh1bnMKICAgICBidWZmZXIuZW5zdXJlSGVpZ2h0KHJvd051bWJlciArIHJlcGVhdENv
dW50KTsKIH0KIAotdm9pZCBHSUZJbWFnZURlY29kZXI6OmZyYW1lQ29tcGxldGUodW5zaWduZWQg
ZnJhbWVJbmRleCwgdW5zaWduZWQgZnJhbWVEdXJhdGlvbiwgYm9vbCBpbmNsdWRlSW5OZXh0RnJh
bWUpCit2b2lkIEdJRkltYWdlRGVjb2Rlcjo6ZnJhbWVDb21wbGV0ZSh1bnNpZ25lZCBmcmFtZUlu
ZGV4LCB1bnNpZ25lZCBmcmFtZUR1cmF0aW9uLCBSR0JBMzJCdWZmZXI6OkZyYW1lRGlzcG9zYWxN
ZXRob2QgZGlzcG9zYWxNZXRob2QpCiB7CiAgICAgUkdCQTMyQnVmZmVyJiBidWZmZXIgPSBtX2Zy
YW1lQnVmZmVyQ2FjaGVbZnJhbWVJbmRleF07CisgICAgYnVmZmVyLmVuc3VyZUhlaWdodChtX3Np
emUuaGVpZ2h0KCkpOwogICAgIGJ1ZmZlci5zZXRTdGF0dXMoUkdCQTMyQnVmZmVyOjpGcmFtZUNv
bXBsZXRlKTsKICAgICBidWZmZXIuc2V0RHVyYXRpb24oZnJhbWVEdXJhdGlvbik7Ci0gICAgYnVm
ZmVyLnNldEluY2x1ZGVJbk5leHRGcmFtZShpbmNsdWRlSW5OZXh0RnJhbWUpOwotICAgIGJ1ZmZl
ci5lbnN1cmVIZWlnaHQobV9zaXplLmhlaWdodCgpKTsKKyAgICBidWZmZXIuc2V0RGlzcG9zYWxN
ZXRob2QoZGlzcG9zYWxNZXRob2QpOworCisgICAgaWYgKCFtX2N1cnJlbnRCdWZmZXJTYXdBbHBo
YSkgeworICAgICAgICAvLyBUaGUgd2hvbGUgZnJhbWUgd2FzIG5vbi10cmFuc3BhcmVudCwgc28g
aXQncyBwb3NzaWJsZSB0aGF0IHRoZSBlbnRpcmUKKyAgICAgICAgLy8gcmVzdWx0aW5nIGJ1ZmZl
ciB3YXMgbm9uLXRyYW5zcGFyZW50LCBhbmQgd2UgY2FuIHNldEhhc0FscGhhKGZhbHNlKS4KKyAg
ICAgICAgaWYgKGJ1ZmZlci5yZWN0KCkuY29udGFpbnMoSW50UmVjdChJbnRQb2ludCgwLCAwKSwg
bV9zaXplKSkpIHsKKyAgICAgICAgICAgIGJ1ZmZlci5zZXRIYXNBbHBoYShmYWxzZSk7CisgICAg
ICAgIH0gZWxzZSBpZiAoZnJhbWVJbmRleCA+IDApIHsKKyAgICAgICAgICAgIC8vIFRyaWNreSBj
YXNlLiAgVGhpcyBmcmFtZSBkb2VzIG5vdCBoYXZlIGFscGhhIG9ubHkgaWYgZXZlcnl3aGVyZQor
ICAgICAgICAgICAgLy8gb3V0c2lkZSBpdHMgcmVjdCBkb2Vzbid0IGhhdmUgYWxwaGEuICBUbyBr
bm93IHdoZXRoZXIgdGhpcyBpcworICAgICAgICAgICAgLy8gdHJ1ZSwgd2UgY2hlY2sgdGhlIHN0
YXJ0IHN0YXRlIG9mIHRoZSBmcmFtZSAtLSBpZiBpdCBkb2Vzbid0IGhhdmUKKyAgICAgICAgICAg
IC8vIGFscGhhLCB3ZSdyZSBzYWZlLgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIEZp
cnN0IHNraXAgb3ZlciBwcmlvciBEaXNwb3NlT3ZlcndyaXRlUHJldmlvdXMgZnJhbWVzIChzaW5j
ZSB0aGV5CisgICAgICAgICAgICAvLyBkb24ndCBhZmZlY3QgdGhlIHN0YXJ0IHN0YXRlIG9mIHRo
aXMgZnJhbWUpIHRoZSBzYW1lIHdheSB3ZSBkbyBpbgorICAgICAgICAgICAgLy8gaW5pdEZyYW1l
QnVmZmVyKCkuCisgICAgICAgICAgICBjb25zdCBSR0JBMzJCdWZmZXIqIHByZXZCdWZmZXIgPSAm
bV9mcmFtZUJ1ZmZlckNhY2hlWy0tZnJhbWVJbmRleF07CisgICAgICAgICAgICB3aGlsZSAoKGZy
YW1lSW5kZXggPiAwKSAmJgorICAgICAgICAgICAgICAgICAgICAocHJldkJ1ZmZlci0+ZGlzcG9z
YWxNZXRob2QoKSA9PQorICAgICAgICAgICAgICAgICAgICAgICAgUkdCQTMyQnVmZmVyOjpEaXNw
b3NlT3ZlcndyaXRlUHJldmlvdXMpKQorICAgICAgICAgICAgICAgIHByZXZCdWZmZXIgPSAmbV9m
cmFtZUJ1ZmZlckNhY2hlWy0tZnJhbWVJbmRleF07CisKKyAgICAgICAgICAgIC8vIE5vdywgaWYg
d2UncmUgYXQgYSBEaXNwb3NlTm90U3BlY2lmaWVkIG9yIERpc3Bvc2VLZWVwIGZyYW1lLCB0aGVu
CisgICAgICAgICAgICAvLyB3ZSBjYW4gc2F5IHdlIGhhdmUgbm8gYWxwaGEgaWYgdGhhdCBmcmFt
ZSBoYWQgbm8gYWxwaGEuICBCdXQKKyAgICAgICAgICAgIC8vIHNpbmNlIGluIGluaXRGcmFtZUJ1
ZmZlcigpIHdlIGFscmVhZHkgY29waWVkIHRoYXQgZnJhbWUncyBhbHBoYQorICAgICAgICAgICAg
Ly8gc3RhdGUgaW50byB0aGUgY3VycmVudCBmcmFtZSdzLCB3ZSBuZWVkIGRvIG5vdGhpbmcgYXQg
YWxsIGhlcmUuCisgICAgICAgICAgICAvLworICAgICAgICAgICAgLy8gVGhlIG9ubHkgcmVtYWlu
aW5nIGNhc2UgaXMgYSBEaXNwb3NlT3ZlcndyaXRlQmdjb2xvciBmcmFtZS4gIElmCisgICAgICAg
ICAgICAvLyBpdCBoYWQgbm8gYWxwaGEsIGFuZCBpdHMgcmVjdCBpcyBjb250YWluZWQgaW4gdGhl
IGN1cnJlbnQgZnJhbWUncworICAgICAgICAgICAgLy8gcmVjdCwgd2Uga25vdyB0aGUgY3VycmVu
dCBmcmFtZSBoYXMgbm8gYWxwaGEuCisgICAgICAgICAgICBpZiAoKHByZXZCdWZmZXItPmRpc3Bv
c2FsTWV0aG9kKCkgPT0KKyAgICAgICAgICAgICAgICAgICAgUkdCQTMyQnVmZmVyOjpEaXNwb3Nl
T3ZlcndyaXRlQmdjb2xvcikgJiYKKyAgICAgICAgICAgICAgICAgICAgIXByZXZCdWZmZXItPmhh
c0FscGhhKCkgJiYKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyLnJlY3QoKS5jb250YWlucyhw
cmV2QnVmZmVyLT5yZWN0KCkpKQorICAgICAgICAgICAgICAgIGJ1ZmZlci5zZXRIYXNBbHBoYShm
YWxzZSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpnaWZD
b21wbGV0ZSgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJ
bWFnZURlY29kZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuaAkocmV2aXNpb24gMjc4NTYpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNjUsMTggKzY1LDIwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRlY29kaW5nSGFsdGVkKHVu
c2lnbmVkIGJ5dGVzTGVmdCk7CiAgICAgdm9pZCBoYXZlRGVjb2RlZFJvdyh1bnNpZ25lZCBmcmFt
ZUluZGV4LCB1bnNpZ25lZCBjaGFyKiByb3dCdWZmZXIsIHVuc2lnbmVkIGNoYXIqIHJvd0VuZCwg
dW5zaWduZWQgcm93TnVtYmVyLCAKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHJl
cGVhdENvdW50KTsKLSAgICB2b2lkIGZyYW1lQ29tcGxldGUodW5zaWduZWQgZnJhbWVJbmRleCwg
dW5zaWduZWQgZnJhbWVEdXJhdGlvbiwgYm9vbCBpbmNsdWRlSW5OZXh0RnJhbWUpOworICAgIHZv
aWQgZnJhbWVDb21wbGV0ZSh1bnNpZ25lZCBmcmFtZUluZGV4LCB1bnNpZ25lZCBmcmFtZUR1cmF0
aW9uLCBSR0JBMzJCdWZmZXI6OkZyYW1lRGlzcG9zYWxNZXRob2QgZGlzcG9zYWxNZXRob2QpOwog
ICAgIHZvaWQgZ2lmQ29tcGxldGUoKTsKIAogcHJpdmF0ZToKLSAgICAvLyBDYWxsZWQgdG8gaW5p
dGlhbGl6ZSBhIG5ldyBmcmFtZSBidWZmZXIgKHBvdGVudGlhbGx5IGNvbXBvc2l0aW5nIGl0Ci0g
ICAgLy8gd2l0aCB0aGUgcHJldmlvdXMgZnJhbWUgYW5kL29yIGNsZWFyaW5nIGJpdHMgaW4gb3Vy
IGltYWdlIGJhc2VkIG9mZgotICAgIC8vIHRoZSBwcmV2aW91cyBmcmFtZSBhcyB3ZWxsKS4KLSAg
ICB2b2lkIGluaXRGcmFtZUJ1ZmZlcihSR0JBMzJCdWZmZXImIGJ1ZmZlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICBSR0JBMzJCdWZmZXIqIHByZXZpb3VzQnVmZmVyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY29tcG9zaXRlV2l0aFByZXZpb3VzRnJhbWUpOworICAgIC8vIENh
bGxlZCB0byBpbml0aWFsaXplIHRoZSBmcmFtZSBidWZmZXIgd2l0aCB0aGUgZ2l2ZW4gaW5kZXgs
IGJhc2VkIG9uIHRoZQorICAgIC8vIHByZXZpb3VzIGZyYW1lJ3MgZGlzcG9zYWwgbWV0aG9kLgor
ICAgIHZvaWQgaW5pdEZyYW1lQnVmZmVyKHVuc2lnbmVkIGZyYW1lSW5kZXgpOworCisgICAgLy8g
QSBoZWxwZXIgZm9yIGluaXRGcmFtZUJ1ZmZlcigpLCB0aGlzIHNldHMgdGhlIHNpemUgb2YgdGhl
IGJ1ZmZlciwgYW5kCisgICAgLy8gZmlsbHMgaXQgd2l0aCB0cmFuc3BhcmVudCBwaXhlbHMuCisg
ICAgdm9pZCBwcmVwRW1wdHlGcmFtZUJ1ZmZlcihSR0JBMzJCdWZmZXIqIGJ1ZmZlcikgY29uc3Q7
CiAKICAgICBib29sIG1fZnJhbWVDb3VudFZhbGlkOworICAgIGJvb2wgbV9jdXJyZW50QnVmZmVy
U2F3QWxwaGE7CiAgICAgbXV0YWJsZSBHSUZJbWFnZURlY29kZXJQcml2YXRlKiBtX3JlYWRlcjsK
IH07CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdl
UmVhZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L2dpZi9HSUZJbWFnZVJlYWRlci5jcHAJKHJldmlzaW9uIDI3ODU2KQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MzksMTEgKzYzOSwxMyBAQCBib29sIEdJRkltYWdlUmVhZGVyOjpyZWFkKGNvbnN0IHVu
c2lnbmVkCiAgICAgICAgICAgZnJhbWVfcmVhZGVyLT5pc190cmFuc3BhcmVudCA9IGZhbHNlOwog
ICAgICAgICAgIC8vIGlnbm9yaW5nIGdmeCBjb250cm9sIGV4dGVuc2lvbgogICAgICAgICB9Ci0g
ICAgICAgIGZyYW1lX3JlYWRlci0+ZGlzcG9zYWxfbWV0aG9kID0gKGdkaXNwb3NlKSgoKCpxKSA+
PiAyKSAmIDB4Nyk7CisgICAgICAgIC8vIE5PVEU6IFRoaXMgcmVsaWVzIG9uIHRoZSB2YWx1ZXMg
aW4gdGhlIEZyYW1lRGlzcG9zYWxNZXRob2QgZW51bQorICAgICAgICAvLyBtYXRjaGluZyB0aG9z
ZSBpbiB0aGUgR0lGIHNwZWMhCisgICAgICAgIGZyYW1lX3JlYWRlci0+ZGlzcG9zYWxfbWV0aG9k
ID0gKFdlYkNvcmU6OlJHQkEzMkJ1ZmZlcjo6RnJhbWVEaXNwb3NhbE1ldGhvZCkoKCgqcSkgPj4g
MikgJiAweDcpOwogICAgICAgICAvLyBTb21lIHNwZWNzIHNheSAzcmQgYml0ICh2YWx1ZSA0KSwg
b3RoZXIgc3BlY3Mgc2F5IHZhbHVlIDMKICAgICAgICAgLy8gTGV0J3MgY2hvb3NlIDMgKHRoZSBt
b3JlIHBvcHVsYXIpCiAgICAgICAgIGlmIChmcmFtZV9yZWFkZXItPmRpc3Bvc2FsX21ldGhvZCA9
PSA0KQotICAgICAgICAgIGZyYW1lX3JlYWRlci0+ZGlzcG9zYWxfbWV0aG9kID0gKGdkaXNwb3Nl
KTM7CisgICAgICAgICAgZnJhbWVfcmVhZGVyLT5kaXNwb3NhbF9tZXRob2QgPSBXZWJDb3JlOjpS
R0JBMzJCdWZmZXI6OkRpc3Bvc2VPdmVyd3JpdGVQcmV2aW91czsKICAgICAgICAgZnJhbWVfcmVh
ZGVyLT5kZWxheV90aW1lID0gR0VUSU5UMTYocSArIDEpICogMTA7CiAgICAgICB9CiAgICAgICBH
RVROKDEsIGdpZl9jb25zdW1lX2Jsb2NrKTsKQEAgLTg4MCw3ICs4ODIsNyBAQCBib29sIEdJRklt
YWdlUmVhZGVyOjpyZWFkKGNvbnN0IHVuc2lnbmVkCiAgICAgICAgIC8vIENBTExCQUNLOiBUaGUg
ZnJhbWUgaXMgbm93IGNvbXBsZXRlLgogICAgICAgICBpZiAoY2xpZW50cHRyICYmIGZyYW1lX3Jl
YWRlcikKICAgICAgICAgICBjbGllbnRwdHItPmZyYW1lQ29tcGxldGUoaW1hZ2VzX2RlY29kZWQg
LSAxLCBmcmFtZV9yZWFkZXItPmRlbGF5X3RpbWUsIAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmcmFtZV9yZWFkZXItPmRpc3Bvc2FsX21ldGhvZCA9PSBESVNQT1NFX0tFRVAp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZV9yZWFkZXItPmRpc3Bv
c2FsX21ldGhvZCk7CiAKICAgICAgICAgLyogQ2xlYXIgc3RhdGUgZnJvbSB0aGlzIGltYWdlICov
CiAgICAgICAgIGlmIChmcmFtZV9yZWFkZXIpIHsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuaAkocmV2aXNpb24gMjc4
NTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC03NiwxNiArNzYsNiBAQCB0eXBlZGVmIGVudW0gewogICAg
IGdpZl9jb25zdW1lX2NvbW1lbnQKIH0gZ3N0YXRlOwogCi0vKiAiRGlzcG9zYWwiIG1ldGhvZCBp
bmRpY2F0ZXMgaG93IHRoZSBpbWFnZSBzaG91bGQgYmUgaGFuZGxlZCBpbiB0aGUKLSAgIGZyYW1l
YnVmZmVyIGJlZm9yZSB0aGUgc3Vic2VxdWVudCBpbWFnZSBpcyBkaXNwbGF5ZWQuICovCi10eXBl
ZGVmIGVudW0gCi17Ci0gICAgRElTUE9TRV9OT1RfU1BFQ0lGSUVEICAgICAgPSAwLAotICAgIERJ
U1BPU0VfS0VFUCAgICAgICAgICAgICAgID0gMSwgLyogTGVhdmUgaXQgaW4gdGhlIGZyYW1lYnVm
ZmVyICovCi0gICAgRElTUE9TRV9PVkVSV1JJVEVfQkdDT0xPUiAgPSAyLCAvKiBPdmVyd3JpdGUg
d2l0aCBiYWNrZ3JvdW5kIGNvbG9yICovCi0gICAgRElTUE9TRV9PVkVSV1JJVEVfUFJFVklPVVMg
PSAzICAvKiBTYXZlLXVuZGVyICovCi19IGdkaXNwb3NlOwotCiBzdHJ1Y3QgR0lGRnJhbWVSZWFk
ZXIgewogICAgIC8qIExaVyBkZWNvZGVyIHN0YXRlIG1hY2hpbmUgKi8KICAgICB1bnNpZ25lZCBj
aGFyICpzdGFja3A7ICAgICAgICAgICAgICAvKiBDdXJyZW50IHN0YWNrIHBvaW50ZXIgKi8KQEAg
LTExMSw3ICsxMDEsNyBAQCBzdHJ1Y3QgR0lGRnJhbWVSZWFkZXIgewogICAgIHVuc2lnbmVkIGlu
dCB4X29mZnNldCwgeV9vZmZzZXQ7ICAgIC8qIFdpdGggcmVzcGVjdCB0byAic2NyZWVuIiBvcmln
aW4gKi8KICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0LCB3aWR0aDsKICAgICBpbnQgdHBpeGVsOyAg
ICAgICAgICAgICAgICAgLyogSW5kZXggb2YgdHJhbnNwYXJlbnQgcGl4ZWwgKi8KLSAgICBnZGlz
cG9zZSBkaXNwb3NhbF9tZXRob2Q7ICAgLyogUmVzdG9yZSB0byBiYWNrZ3JvdW5kLCBsZWF2ZSBp
biBwbGFjZSwgZXRjLiovCisgICAgV2ViQ29yZTo6UkdCQTMyQnVmZmVyOjpGcmFtZURpc3Bvc2Fs
TWV0aG9kIGRpc3Bvc2FsX21ldGhvZDsgICAvKiBSZXN0b3JlIHRvIGJhY2tncm91bmQsIGxlYXZl
IGluIHBsYWNlLCBldGMuKi8KICAgICB1bnNpZ25lZCBjaGFyICpsb2NhbF9jb2xvcm1hcDsgICAg
LyogUGVyLWltYWdlIGNvbG9ybWFwICovCiAgICAgaW50IGxvY2FsX2NvbG9ybWFwX3NpemU7ICAg
IC8qIFNpemUgb2YgbG9jYWwgY29sb3JtYXAgYXJyYXkuICovCiAgICAgCkBAIC0xNDAsNyArMTMw
LDcgQEAgc3RydWN0IEdJRkZyYW1lUmVhZGVyIHsKIAogICAgICAgICB4X29mZnNldCA9IHlfb2Zm
c2V0ID0gd2lkdGggPSBoZWlnaHQgPSAwOwogICAgICAgICB0cGl4ZWwgPSAwOwotICAgICAgICBk
aXNwb3NhbF9tZXRob2QgPSBESVNQT1NFX05PVF9TUEVDSUZJRUQ7CisgICAgICAgIGRpc3Bvc2Fs
X21ldGhvZCA9IFdlYkNvcmU6OlJHQkEzMkJ1ZmZlcjo6RGlzcG9zZU5vdFNwZWNpZmllZDsKIAog
ICAgICAgICBsb2NhbF9jb2xvcm1hcCA9IDA7CiAgICAgICAgIGxvY2FsX2NvbG9ybWFwX3NpemUg
PSAwOwo=
</data>
<flag name="review"
          id="7389"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17541</attachid>
            <date>2007-11-26 18:13:12 -0800</date>
            <delta_ts>2007-11-26 18:59:22 -0800</delta_ts>
            <desc>patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>21907</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODA2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDctMTEtMjYgIFBldGVyIEthc3RpbmcgIDx6ZXJvZHB4QGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk3NAorICAgICAgICBHSUYg
ZGVjb2Rpbmcgc2hvdWxkIHJlc3BlY3QgZnJhbWVzJyBzcGVjaWZpZWQgZGlzcG9zYWwgbWV0aG9k
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6UkdCQTMyQnVmZmVyOjopOgorICAgICAgICAoV2ViQ29yZTo6UkdC
QTMyQnVmZmVyOjpSR0JBMzJCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6UkdCQTMyQnVmZmVy
OjpkaXNwb3NhbE1ldGhvZCk6CisgICAgICAgIChXZWJDb3JlOjpSR0JBMzJCdWZmZXI6OnNldERp
c3Bvc2FsTWV0aG9kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lG
SW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6ZnJh
bWVCdWZmZXJBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6aW5p
dEZyYW1lQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6cHJlcEVt
cHR5RnJhbWVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R0lGSW1hZ2VEZWNvZGVyOjpoYXZl
RGVjb2RlZFJvdyk6CisgICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OmZyYW1lQ29t
cGxldGUpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURl
Y29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VS
ZWFkZXIuY3BwOgorICAgICAgICAoR0lGSW1hZ2VSZWFkZXI6OnJlYWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5oOgorICAgICAgICAoR0lG
RnJhbWVSZWFkZXI6OkdJRkZyYW1lUmVhZGVyKToKKwogMjAwNy0xMS0yNiAgU3RldmUgRmFsa2Vu
YnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeC4KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAkocmV2aXNp
b24gMjgwNjEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw5ICs0MSwxNyBAQCBjbGFzcyBSR0JBMzJCdWZmZXIK
IHsKIHB1YmxpYzoKICAgICBlbnVtIEZyYW1lU3RhdHVzIHsgRnJhbWVFbXB0eSwgRnJhbWVQYXJ0
aWFsLCBGcmFtZUNvbXBsZXRlIH07CisgICAgZW51bSBGcmFtZURpc3Bvc2FsTWV0aG9kIHsKKyAg
ICAgICAgLy8gSWYgeW91IGNoYW5nZSB0aGUgbnVtZXJpYyB2YWx1ZXMgb2YgdGhlc2UsIG1ha2Ug
c3VyZSB5b3UgYXVkaXQgYWxsCisgICAgICAgIC8vIHVzZXJzLCBhcyBzb21lIHVzZXJzIG1heSBj
YXN0IHJhdyB2YWx1ZXMgdG8vZnJvbSB0aGVzZSBjb25zdGFudHMuCisgICAgICAgIERpc3Bvc2VO
b3RTcGVjaWZpZWQgPSAwLCAgICAgICAvLyBMZWF2ZSBmcmFtZSBpbiBmcmFtZWJ1ZmZlcgorICAg
ICAgICBEaXNwb3NlS2VlcCA9IDEsICAgICAgICAgICAgICAgLy8gTGVhdmUgZnJhbWUgaW4gZnJh
bWVidWZmZXIKKyAgICAgICAgRGlzcG9zZU92ZXJ3cml0ZUJnY29sb3IgPSAyLCAgIC8vIENsZWFy
IGZyYW1lIHRvIHRyYW5zcGFyZW50CisgICAgICAgIERpc3Bvc2VPdmVyd3JpdGVQcmV2aW91cyA9
IDMsICAvLyBDbGVhciBmcmFtZSB0byBwcmV2aW91cyBmcmFtZWJ1ZmZlciBjb250ZW50cworICAg
IH07CiAKICAgICBSR0JBMzJCdWZmZXIoKSA6IG1faGVpZ2h0KDApLCBtX3N0YXR1cyhGcmFtZUVt
cHR5KSwgbV9kdXJhdGlvbigwKSwKLSAgICAgICAgICAgICAgICAgICAgIG1faW5jbHVkZUluTmV4
dEZyYW1lKGZhbHNlKSwgbV9oYXNBbHBoYShmYWxzZSkKKyAgICAgICAgICAgICAgICAgICAgIG1f
ZGlzcG9zYWxNZXRob2QoRGlzcG9zZU5vdFNwZWNpZmllZCksIG1faGFzQWxwaGEoZmFsc2UpCiAg
ICAge30gCiAKICAgICBjb25zdCBSR0JBMzJBcnJheSYgYnl0ZXMoKSBjb25zdCB7IHJldHVybiBt
X2J5dGVzOyB9CkBAIC01MiwxNCArNjAsMTQgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGhlaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0OyB9CiAgICAgRnJhbWVTdGF0dXMgc3RhdHVzKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGF0dXM7IH0KICAgICB1bnNpZ25lZCBkdXJhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KLSAgICBib29sIGluY2x1ZGVJbk5leHRGcmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1faW5jbHVkZUluTmV4dEZyYW1lOyB9CisgICAgRnJhbWVEaXNwb3NhbE1l
dGhvZCBkaXNwb3NhbE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcG9zYWxNZXRob2Q7IH0K
ICAgICBib29sIGhhc0FscGhhKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBbHBoYTsgfQogCiAgICAg
dm9pZCBzZXRSZWN0KGNvbnN0IEludFJlY3QmIHIpIHsgbV9yZWN0ID0gcjsgfQogICAgIHZvaWQg
ZW5zdXJlSGVpZ2h0KHVuc2lnbmVkIHJvd0luZGV4KSB7IGlmIChyb3dJbmRleCA+IG1faGVpZ2h0
KSBtX2hlaWdodCA9IHJvd0luZGV4OyB9CiAgICAgdm9pZCBzZXRTdGF0dXMoRnJhbWVTdGF0dXMg
cykgeyBtX3N0YXR1cyA9IHM7IH0KICAgICB2b2lkIHNldER1cmF0aW9uKHVuc2lnbmVkIGR1cmF0
aW9uKSB7IG1fZHVyYXRpb24gPSBkdXJhdGlvbjsgfQotICAgIHZvaWQgc2V0SW5jbHVkZUluTmV4
dEZyYW1lKGJvb2wgbikgeyBtX2luY2x1ZGVJbk5leHRGcmFtZSA9IG47IH0KKyAgICB2b2lkIHNl
dERpc3Bvc2FsTWV0aG9kKEZyYW1lRGlzcG9zYWxNZXRob2QgbWV0aG9kKSB7IG1fZGlzcG9zYWxN
ZXRob2QgPSBtZXRob2Q7IH0KICAgICB2b2lkIHNldEhhc0FscGhhKGJvb2wgYWxwaGEpIHsgbV9o
YXNBbHBoYSA9IGFscGhhOyB9CiAKICAgICBzdGF0aWMgdm9pZCBzZXRSR0JBKHVuc2lnbmVkJiBw
b3MsIHVuc2lnbmVkIHIsIHVuc2lnbmVkIGcsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGEpCkBAIC04
Niw3ICs5NCw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9oZWlnaHQ7IC8vIFRoZSBoZWln
aHQgKHRoZSBudW1iZXIgb2Ygcm93cyB3ZSd2ZSBmdWxseSBkZWNvZGVkKS4KICAgICBGcmFtZVN0
YXR1cyBtX3N0YXR1czsgLy8gV2hldGhlciBvciBub3QgdGhpcyBmcmFtZSBpcyBjb21wbGV0ZWx5
IGZpbmlzaGVkIGRlY29kaW5nLgogICAgIHVuc2lnbmVkIG1fZHVyYXRpb247IC8vIFRoZSBhbmlt
YXRpb24gZGVsYXkuCi0gICAgYm9vbCBtX2luY2x1ZGVJbk5leHRGcmFtZTsgLy8gV2hldGhlciBv
ciBub3QgdGhlIG5leHQgYnVmZmVyIHNob3VsZCBiZSBpbml0aWFsbHkgcG9wdWxhdGVkIHdpdGgg
b3VyIGRhdGEuCisgICAgRnJhbWVEaXNwb3NhbE1ldGhvZCBtX2Rpc3Bvc2FsTWV0aG9kOyAvLyBX
aGF0IHRvIGRvIHdpdGggdGhpcyBmcmFtZSdzIGRhdGEgd2hlbiBpbml0aWFsaXppbmcgdGhlIG5l
eHQgZnJhbWUuCiAgICAgYm9vbCBtX2hhc0FscGhhOyAvLyBXaGV0aGVyIG9yIG5vdCBhbnkgb2Yg
dGhlIHBpeGVscyBpbiB0aGUgYnVmZmVyIGhhdmUgdHJhbnNwYXJlbmN5LgogfTsKIApJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFn
ZURlY29kZXIuY3BwCShyZXZpc2lvbiAyODA2MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw3
ICsxNTgsNyBAQCBpbnQgR0lGSW1hZ2VEZWNvZGVyOjpyZXBldGl0aW9uQ291bnQoKSBjCiAKIFJH
QkEzMkJ1ZmZlciogR0lGSW1hZ2VEZWNvZGVyOjpmcmFtZUJ1ZmZlckF0SW5kZXgoc2l6ZV90IGlu
ZGV4KQogewotICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gZnJhbWVDb3VudCgpKQorICAg
IGlmIChpbmRleCA+PSBmcmFtZUNvdW50KCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgUkdC
QTMyQnVmZmVyJiBmcmFtZSA9IG1fZnJhbWVCdWZmZXJDYWNoZVtpbmRleF07CkBAIC0xOTQsOSAr
MTk0LDcgQEAgdm9pZCBHSUZJbWFnZURlY29kZXI6OmRlY29kaW5nSGFsdGVkKHVucwogICAgIG1f
cmVhZGVyLT5zZXRSZWFkT2Zmc2V0KG1fZGF0YS0+c2l6ZSgpIC0gYnl0ZXNMZWZ0KTsKIH0KIAot
dm9pZCBHSUZJbWFnZURlY29kZXI6OmluaXRGcmFtZUJ1ZmZlcihSR0JBMzJCdWZmZXImIGJ1ZmZl
ciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJHQkEzMkJ1ZmZlciog
cHJldmlvdXNCdWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
b2wgY29tcG9zaXRlV2l0aFByZXZpb3VzRnJhbWUpCit2b2lkIEdJRkltYWdlRGVjb2Rlcjo6aW5p
dEZyYW1lQnVmZmVyKHVuc2lnbmVkIGZyYW1lSW5kZXgpCiB7CiAgICAgLy8gSW5pdGlhbGl6ZSB0
aGUgZnJhbWUgcmVjdCBpbiBvdXIgYnVmZmVyLgogICAgIEludFJlY3QgZnJhbWVSZWN0KG1fcmVh
ZGVyLT5mcmFtZVhPZmZzZXQoKSwgbV9yZWFkZXItPmZyYW1lWU9mZnNldCgpLApAQCAtMjA4LDgw
ICsyMDYsNzAgQEAgdm9pZCBHSUZJbWFnZURlY29kZXI6OmluaXRGcmFtZUJ1ZmZlcihSRwogICAg
IGlmIChmcmFtZVJlY3QuYm90dG9tKCkgPiBtX3NpemUuaGVpZ2h0KCkpCiAgICAgICAgIGZyYW1l
UmVjdC5zZXRIZWlnaHQobV9zaXplLmhlaWdodCgpIC0gbV9yZWFkZXItPmZyYW1lWU9mZnNldCgp
KTsKIAotICAgIGJ1ZmZlci5zZXRSZWN0KGZyYW1lUmVjdCk7Ci0KLSAgICBib29sIGlzU3ViUmVj
dCA9IChmcmFtZVJlY3QueCgpID4gMCB8fCBmcmFtZVJlY3QueSgpID4gMCB8fAotICAgICAgICAg
ICAgICAgICAgICAgIGZyYW1lUmVjdC53aWR0aCgpIDwgbV9zaXplLndpZHRoKCkgfHwKLSAgICAg
ICAgICAgICAgICAgICAgICBmcmFtZVJlY3QuaGVpZ2h0KCkgPCBtX3NpemUuaGVpZ2h0KCkpOwor
ICAgIFJHQkEzMkJ1ZmZlciogY29uc3QgYnVmZmVyID0gJm1fZnJhbWVCdWZmZXJDYWNoZVtmcmFt
ZUluZGV4XTsKKyAgICBidWZmZXItPnNldFJlY3QoZnJhbWVSZWN0KTsKICAgICAKLSAgICAvLyBM
ZXQncyByZXNpemUgb3VyIGJ1ZmZlciBub3cgdG8gdGhlIGNvcnJlY3Qgd2lkdGgvaGVpZ2h0IGFu
ZCB0aGVuCi0gICAgLy8gaW5pdGlhbGl6ZSBwb3J0aW9ucyBvZiBpdCBpZiBuZWVkZWQuCi0gICAg
UkdCQTMyQXJyYXkmIGJ5dGVzID0gYnVmZmVyLmJ5dGVzKCk7Ci0gICAgICAgIAotICAgIC8vIElm
IHRoZSBkaXNwb3NhbCBtZXRob2Qgb2YgdGhlIHByZXZpb3VzIGZyYW1lIHNhaWQgdG8gc3RpY2sg
YXJvdW5kLCB0aGVuIHdlIG5lZWQgICAgIAotICAgIC8vIHRvIGNvcHkgdGhhdCBmcmFtZSBpbnRv
IG91ciBmcmFtZS4gIFdlIGFsc28gZG9udCB3YW50IHRvIGhhdmUgYW55IGltcGFjdCBvbgotICAg
IC8vIGFueXRoaW5nIG91dHNpZGUgb3VyIGZyYW1lJ3MgcmVjdCwgc28gaWYgd2UgZG9uJ3Qgb3Zl
cmxheSB0aGUgZW50aXJlIGltYWdlLAotICAgIC8vIHRoZW4gYWxzbyBjb21wb3NpdGUgd2l0aCB0
aGUgcHJldmlvdXMgZnJhbWUuCi0gICAgaWYgKHByZXZpb3VzQnVmZmVyICYmIChjb21wb3NpdGVX
aXRoUHJldmlvdXNGcmFtZSB8fCBpc1N1YlJlY3QpKSB7Ci0gICAgICAgIGJ5dGVzID0gcHJldmlv
dXNCdWZmZXItPmJ5dGVzKCk7Ci0gICAgICAgIGJ1ZmZlci5lbnN1cmVIZWlnaHQobV9zaXplLmhl
aWdodCgpKTsKLSAgICAgICAgYnVmZmVyLnNldEhhc0FscGhhKHByZXZpb3VzQnVmZmVyLT5oYXNB
bHBoYSgpKTsKLSAgICB9Ci0gICAgZWxzZSAvLyBSZXNpemUgdG8gdGhlIHdpZHRoIGFuZCBoZWln
aHQgb2YgdGhlIGltYWdlLgotICAgICAgICBieXRlcy5yZXNpemUobV9zaXplLndpZHRoKCkgKiBt
X3NpemUuaGVpZ2h0KCkpOworICAgIGlmIChmcmFtZUluZGV4ID09IDApIHsKKyAgICAgICAgLy8g
VGhpcyBpcyB0aGUgZmlyc3QgZnJhbWUsIHNvIHdlJ3JlIG5vdCByZWx5aW5nIG9uIGFueSBwcmV2
aW91cyBkYXRhLgorICAgICAgICBwcmVwRW1wdHlGcmFtZUJ1ZmZlcihidWZmZXIpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIC8vIFRoZSBzdGFydGluZyBzdGF0ZSBmb3IgdGhpcyBmcmFtZSBkZXBl
bmRzIG9uIHRoZSBwcmV2aW91cyBmcmFtZSdzCisgICAgICAgIC8vIGRpc3Bvc2FsIG1ldGhvZC4K
KyAgICAgICAgLy8KKyAgICAgICAgLy8gRnJhbWVzIHRoYXQgdXNlIHRoZSBEaXNwb3NlT3Zlcndy
aXRlUHJldmlvdXMgbWV0aG9kIGFyZSBlZmZlY3RpdmVseQorICAgICAgICAvLyBuby1vcHMgaW4g
dGVybXMgb2YgY2hhbmdpbmcgdGhlIHN0YXJ0aW5nIHN0YXRlIG9mIGEgZnJhbWUgY29tcGFyZWQg
dG8KKyAgICAgICAgLy8gdGhlIHN0YXJ0aW5nIHN0YXRlIG9mIHRoZSBwcmV2aW91cyBmcmFtZSwg
c28gc2tpcCBvdmVyIHRoZW0uICAoSWYgdGhlCisgICAgICAgIC8vIGZpcnN0IGZyYW1lIHNwZWNp
ZmllcyB0aGlzIG1ldGhvZCwgaXQgd2lsbCBnZXQgdHJlYXRlZCBsaWtlCisgICAgICAgIC8vIERp
c3Bvc2VPdmVyd3JpdGVCZ2NvbG9yIGJlbG93IGFuZCByZXNldCB0byBhIGNvbXBsZXRlbHkgZW1w
dHkgaW1hZ2UuKQorICAgICAgICBjb25zdCBSR0JBMzJCdWZmZXIqIHByZXZCdWZmZXIgPSAmbV9m
cmFtZUJ1ZmZlckNhY2hlWy0tZnJhbWVJbmRleF07CisgICAgICAgIFJHQkEzMkJ1ZmZlcjo6RnJh
bWVEaXNwb3NhbE1ldGhvZCBwcmV2TWV0aG9kID0KKyAgICAgICAgICAgIHByZXZCdWZmZXItPmRp
c3Bvc2FsTWV0aG9kKCk7CisgICAgICAgIHdoaWxlICgoZnJhbWVJbmRleCA+IDApICYmCisgICAg
ICAgICAgICAgICAgKHByZXZNZXRob2QgPT0gUkdCQTMyQnVmZmVyOjpEaXNwb3NlT3ZlcndyaXRl
UHJldmlvdXMpKSB7CisgICAgICAgICAgICBwcmV2QnVmZmVyID0gJm1fZnJhbWVCdWZmZXJDYWNo
ZVstLWZyYW1lSW5kZXhdOworICAgICAgICAgICAgcHJldk1ldGhvZCA9IHByZXZCdWZmZXItPmRp
c3Bvc2FsTWV0aG9kKCk7CisgICAgICAgIH0KIAotICAgIGlmIChpc1N1YlJlY3QpIHsKLSAgICAg
ICAgLy8gV2UgbmVlZCB0byBnbyBhaGVhZCBhbmQgaW5pdGlhbGl6ZSB0aGUgZmlyc3QgZnJhbWUg
dG8gbWFrZSBzdXJlCi0gICAgICAgIC8vIHRoYXQgYXJlYXMgb3V0c2lkZSB0aGUgc3VicmVjdCBz
dGFydCBvZmYgdHJhbnNwYXJlbnQuCi0gICAgICAgIGlmICghcHJldmlvdXNCdWZmZXIpIHsKLSAg
ICAgICAgICAgIGJ5dGVzLmZpbGwoMCk7Ci0gICAgICAgICAgICBidWZmZXIuc2V0SGFzQWxwaGEo
dHJ1ZSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWNvbXBvc2l0ZVdpdGhQcmV2aW91c0ZyYW1lKSB7
Ci0gICAgICAgICAgICAvLyBOb3cgdGhpcyBpcyBhbiBpbnRlcmVzdGluZyBjYXNlLiAgSW4gdGhl
IGNhc2Ugd2hlcmUgd2UgZmlsbCAKLSAgICAgICAgICAgIC8vIHRoZSBlbnRpcmUgaW1hZ2UsIHdl
IGVmZmVjdGl2ZWx5IGRvIGEgZnVsbCBjbGVhciBvZiB0aGUgaW1hZ2UgKGFuZCB0aHVzCi0gICAg
ICAgICAgICAvLyBkb24ndCBoYXZlIHRvIGluaXRpYWxpemUgYW55dGhpbmcgaW4gb3VyIGJ1ZmZl
cikuCi0gICAgICAgICAgICAvLyAKLSAgICAgICAgICAgIC8vIEhvd2V2ZXIgaW4gdGhlIGNhc2Ug
d2hlcmUgd2Ugb25seSBmaWxsIGEgcGllY2Ugb2YgdGhlIGltYWdlLCB0d28gcHJvYmxlbXMgb2Nj
dXI6Ci0gICAgICAgICAgICAvLyAoMSkgV2UgbmVlZCB0byB3aXBlIG91dCB0aGUgYXJlYSBvY2N1
cGllZCBieSB0aGUgcHJldmlvdXMgZnJhbWUsIHdoaWNoCi0gICAgICAgICAgICAvLyBjb3VsZCBh
bHNvIGhhdmUgYmVlbiBhIHN1YnJlY3QuCi0gICAgICAgICAgICAvLyAoMikgQW55dGhpbmcgb3V0
c2lkZSB0aGUgcHJldmlvdXMgZnJhbWUncyByZWN0ICphbmQqIG91dHNpZGUgb3VyIGN1cnJlbnQK
LSAgICAgICAgICAgIC8vIGZyYW1lJ3MgcmVjdCBzaG91bGQgYmUgbGVmdCBhbG9uZS4KLSAgICAg
ICAgICAgIC8vIFdlIGhhdmUgaGFuZGxlZCAoMikgYnkganVzdCBpbml0aWFsaXppbmcgb3VyIGJ1
ZmZlciBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZS4KLSAgICAgICAgICAgIC8vIE91ciBzdWJyZWN0
IHdpbGwgY29ycmVjdGx5IG92ZXJ3cml0ZSB0aGUgcHJldmlvdXMgZnJhbWUncyBjb250ZW50cyBh
cyB3ZQotICAgICAgICAgICAgLy8gZGVjb2RlIHJvd3MuICBIb3dldmVyIHRoYXQgc3RpbGwgbGVh
dmVzIHRoZSBwcm9ibGVtIG9mIGhhdmluZyB0byB3aXBlIG91dAotICAgICAgICAgICAgLy8gdGhl
IGFyZWEgb2NjdXBpZWQgYnkgdGhlIHByZXZpb3VzIGZyYW1lIHRoYXQgZG9lcyBub3Qgb3Zlcmxh
cCB3aXRoCi0gICAgICAgICAgICAvLyB0aGUgbmV3IGZyYW1lLgotICAgICAgICAgICAgaWYgKHBy
ZXZpb3VzQnVmZmVyLT5yZWN0KCkgIT0gZnJhbWVSZWN0KSB7Ci0gICAgICAgICAgICAgICAgLy8g
V2UgaGF2ZSB0byByZXN0b3JlIHRoZSBlbnRpcmUgcHJldmlvdXMgc3ViZnJhbWUgd2l0aCB0aGUg
Zmlyc3QgZnJhbWUncyBjb250ZW50cy4KLSAgICAgICAgICAgICAgICBSR0JBMzJCdWZmZXIqIGZp
cnN0QnVmZmVyID0gJm1fZnJhbWVCdWZmZXJDYWNoZVswXTsKLSAgICAgICAgICAgICAgICBib29s
IHNhd0FscGhhID0gYnVmZmVyLmhhc0FscGhhKCk7Ci0gICAgICAgICAgICAgICAgSW50UmVjdCBw
cmV2UmVjdCA9IHByZXZpb3VzQnVmZmVyLT5yZWN0KCk7Ci0gICAgICAgICAgICAgICAgdW5zaWdu
ZWQgZW5kID0gcHJldlJlY3QueSgpICsgcHJldlJlY3QuaGVpZ2h0KCk7Ci0KLSAgICAgICAgICAg
ICAgICAvLyBHaXZlbiB0aGF0IHdlIGFsbG9jYXRlIGJ1ZmZlcnMgdG8gYmUgdGhlIHNhbWUgc2l6
ZSBhcyBwcmV2aW91cyBidWZmZXJzLAotICAgICAgICAgICAgICAgIC8vIEkgdGhpbmsgdGhpcyBh
c3NlcnQgc2hvdWxkIGJlIHZhbGlkLgotICAgICAgICAgICAgICAgIEFTU0VSVChJbnRSZWN0KElu
dFBvaW50KDAsMCksIG1fc2l6ZSkuY29udGFpbnMoZmlyc3RCdWZmZXItPnJlY3QoKSkpOwotCi0g
ICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gcHJldlJlY3QueSgpOyBpIDwgZW5kOyBp
KyspIHsKLSAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQqIGN1cnIgPSBidWZmZXIuYnl0ZXMo
KS5kYXRhKCkgKyAoaSAqIG1fc2l6ZS53aWR0aCgpICsgcHJldlJlY3QueCgpKTsKLSAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQqIG9yaWcgPSBmaXJzdEJ1ZmZlci0+Ynl0ZXMoKS5kYXRhKCkg
KyAoaSAqIG1fc2l6ZS53aWR0aCgpICsgcHJldlJlY3QueCgpKTsKLSAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQqIGVuZCA9IGN1cnIgKyBwcmV2UmVjdC53aWR0aCgpOwotICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCogb3JpZ0VuZCA9IG9yaWcgKyBmaXJzdEJ1ZmZlci0+cmVjdCgpLndp
ZHRoKCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGN1cnIgIT0gZW5kICYmIG9yaWcg
IT0gb3JpZ0VuZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzYXdBbHBoYSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhd0FscGhhID0gdHJ1ZTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBidWZmZXIuc2V0SGFzQWxwaGEodHJ1ZSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAqY3VycisrID0gKm9yaWcrKzsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgaWYgKChw
cmV2TWV0aG9kID09IFJHQkEzMkJ1ZmZlcjo6RGlzcG9zZU5vdFNwZWNpZmllZCkgfHwKKyAgICAg
ICAgICAgICAgICAocHJldk1ldGhvZCA9PSBSR0JBMzJCdWZmZXI6OkRpc3Bvc2VLZWVwKSkgewor
ICAgICAgICAgICAgLy8gUHJlc2VydmUgdGhlIGxhc3QgZnJhbWUgYXMgdGhlIHN0YXJ0aW5nIHN0
YXRlIGZvciB0aGlzIGZyYW1lLgorICAgICAgICAgICAgYnVmZmVyLT5ieXRlcygpID0gcHJldkJ1
ZmZlci0+Ynl0ZXMoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIFdlIHdhbnQg
dG8gY2xlYXIgdGhlIHByZXZpb3VzIGZyYW1lIHRvIHRyYW5zcGFyZW50LCB3aXRob3V0CisgICAg
ICAgICAgICAvLyBhZmZlY3RpbmcgcGl4ZWxzIGluIHRoZSBpbWFnZSBvdXRzaWRlIG9mIHRoZSBm
cmFtZS4KKyAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIHByZXZSZWN0ID0gcHJldkJ1ZmZlci0+
cmVjdCgpOworICAgICAgICAgICAgaWYgKChmcmFtZUluZGV4ID09IDApIHx8CisgICAgICAgICAg
ICAgICAgICAgIHByZXZSZWN0LmNvbnRhaW5zKEludFJlY3QoSW50UG9pbnQoMCwgMCksIG1fc2l6
ZSkpKSB7CisgICAgICAgICAgICAgICAgLy8gQ2xlYXJpbmcgdGhlIGZpcnN0IGZyYW1lLCBvciBh
IGZyYW1lIHRoZSBzaXplIG9mIHRoZSB3aG9sZQorICAgICAgICAgICAgICAgIC8vIGltYWdlLCBy
ZXN1bHRzIGluIGEgY29tcGxldGVseSBlbXB0eSBpbWFnZS4KKyAgICAgICAgICAgICAgICBwcmVw
RW1wdHlGcmFtZUJ1ZmZlcihidWZmZXIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgLy8gQ29weSB0aGUgd2hvbGUgcHJldmlvdXMgYnVmZmVyLCB0aGVuIGNsZWFyIGp1c3Qg
aXRzIGZyYW1lLgorICAgICAgICAgICAgICBidWZmZXItPmJ5dGVzKCkgPSBwcmV2QnVmZmVyLT5i
eXRlcygpOworICAgICAgICAgICAgICBmb3IgKGludCB5ID0gcHJldlJlY3QueSgpOyB5IDwgcHJl
dlJlY3QuYm90dG9tKCk7ICsreSkgeworICAgICAgICAgICAgICAgICAgdW5zaWduZWQqIGNvbnN0
IGN1cnJlbnRSb3cgPQorICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlci0+Ynl0ZXMoKS5kYXRh
KCkgKyAoeSAqIG1fc2l6ZS53aWR0aCgpKTsKKyAgICAgICAgICAgICAgICAgIGZvciAoaW50IHgg
PSBwcmV2UmVjdC54KCk7IHggPCBwcmV2UmVjdC5yaWdodCgpOyArK3gpCisgICAgICAgICAgICAg
ICAgICAgICAgYnVmZmVyLT5zZXRSR0JBKCooY3VycmVudFJvdyArIHgpLCAwLCAwLCAwLCAwKTsK
KyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBpZiAoKHByZXZSZWN0LndpZHRoKCkgPiAw
KSAmJiAocHJldlJlY3QuaGVpZ2h0KCkgPiAwKSkKKyAgICAgICAgICAgICAgICBidWZmZXItPnNl
dEhhc0FscGhhKHRydWUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAg
Ly8gVXBkYXRlIG91ciBzdGF0dXMgdG8gYmUgcGFydGlhbGx5IGNvbXBsZXRlLgotICAgIGJ1ZmZl
ci5zZXRTdGF0dXMoUkdCQTMyQnVmZmVyOjpGcmFtZVBhcnRpYWwpOworICAgIGJ1ZmZlci0+c2V0
U3RhdHVzKFJHQkEzMkJ1ZmZlcjo6RnJhbWVQYXJ0aWFsKTsKKworICAgIC8vIFJlc2V0IHRoZSBh
bHBoYSBwaXhlbCB0cmFja2VyIGZvciB0aGlzIGZyYW1lLgorICAgIG1fY3VycmVudEJ1ZmZlclNh
d0FscGhhID0gZmFsc2U7Cit9CisKK3ZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpwcmVwRW1wdHlGcmFt
ZUJ1ZmZlcihSR0JBMzJCdWZmZXIqIGJ1ZmZlcikgY29uc3QKK3sKKyAgICBidWZmZXItPmJ5dGVz
KCkucmVzaXplKG1fc2l6ZS53aWR0aCgpICogbV9zaXplLmhlaWdodCgpKTsKKyAgICBidWZmZXIt
PmJ5dGVzKCkuZmlsbCgwKTsKKyAgICBidWZmZXItPnNldEhhc0FscGhhKHRydWUpOwogfQogCiB2
b2lkIEdJRkltYWdlRGVjb2Rlcjo6aGF2ZURlY29kZWRSb3codW5zaWduZWQgZnJhbWVJbmRleCwK
QEAgLTI5MCwxMyArMjc4LDEwIEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpoYXZlRGVjb2RlZFJv
dyh1bnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCByb3dO
dW1iZXIsICAvLyBUaGUgcm93IGluZGV4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgcmVwZWF0Q291bnQpIC8vIEhvdyBtYW55IHRpbWVzIHRvIHJlcGVhdCB0
aGUgcm93CiB7Ci0gICAgLy8gUmVzaXplIHRvIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBp
bWFnZS4KKyAgICAvLyBJbml0aWFsaXplIHRoZSBmcmFtZSBpZiBuZWNlc3NhcnkuCiAgICAgUkdC
QTMyQnVmZmVyJiBidWZmZXIgPSBtX2ZyYW1lQnVmZmVyQ2FjaGVbZnJhbWVJbmRleF07Ci0gICAg
UkdCQTMyQnVmZmVyKiBwcmV2aW91c0J1ZmZlciA9IChmcmFtZUluZGV4ID4gMCkgPyAmbV9mcmFt
ZUJ1ZmZlckNhY2hlW2ZyYW1lSW5kZXgtMV0gOiAwOwotICAgIGJvb2wgY29tcG9zaXRlV2l0aFBy
ZXZpb3VzRnJhbWUgPSBwcmV2aW91c0J1ZmZlciAmJiBwcmV2aW91c0J1ZmZlci0+aW5jbHVkZUlu
TmV4dEZyYW1lKCk7Ci0KICAgICBpZiAoYnVmZmVyLnN0YXR1cygpID09IFJHQkEzMkJ1ZmZlcjo6
RnJhbWVFbXB0eSkKLSAgICAgICAgaW5pdEZyYW1lQnVmZmVyKGJ1ZmZlciwgcHJldmlvdXNCdWZm
ZXIsIGNvbXBvc2l0ZVdpdGhQcmV2aW91c0ZyYW1lKTsKKyAgICAgICAgaW5pdEZyYW1lQnVmZmVy
KGZyYW1lSW5kZXgpOwogCiAgICAgLy8gRG8gbm90aGluZyBmb3IgYm9ndXMgZGF0YS4KICAgICBp
ZiAocm93QnVmZmVyID09IDAgfHwgc3RhdGljX2Nhc3Q8aW50PihtX3JlYWRlci0+ZnJhbWVZT2Zm
c2V0KCkgKyByb3dOdW1iZXIpID49IG1fc2l6ZS5oZWlnaHQoKSkKQEAgLTMyMSwyMyArMzA2LDE1
IEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpoYXZlRGVjb2RlZFJvdyh1bnMKICAgICB1bnNpZ25l
ZCogY3VyckRzdCA9IGRzdDsKICAgICB1bnNpZ25lZCBjaGFyKiBjdXJyZW50Um93Qnl0ZSA9IHJv
d0J1ZmZlcjsKICAgICAKLSAgICBib29sIGhhc0FscGhhID0gbV9yZWFkZXItPmlzVHJhbnNwYXJl
bnQoKTsgCi0gICAgYm9vbCBzYXdBbHBoYSA9IGZhbHNlOwogICAgIHdoaWxlIChjdXJyZW50Um93
Qnl0ZSAhPSByb3dFbmQgJiYgY3VyckRzdCA8IGRzdEVuZCkgewotICAgICAgICBpZiAoKCFoYXNB
bHBoYSB8fCAqY3VycmVudFJvd0J5dGUgIT0gbV9yZWFkZXItPnRyYW5zcGFyZW50UGl4ZWwoKSkg
JiYgKmN1cnJlbnRSb3dCeXRlIDwgY29sb3JNYXBTaXplKSB7CisgICAgICAgIGlmICgoIW1fcmVh
ZGVyLT5pc1RyYW5zcGFyZW50KCkgfHwgKmN1cnJlbnRSb3dCeXRlICE9IG1fcmVhZGVyLT50cmFu
c3BhcmVudFBpeGVsKCkpICYmICpjdXJyZW50Um93Qnl0ZSA8IGNvbG9yTWFwU2l6ZSkgewogICAg
ICAgICAgICAgdW5zaWduZWQgY29sb3JJbmRleCA9ICpjdXJyZW50Um93Qnl0ZSAqIDM7CiAgICAg
ICAgICAgICB1bnNpZ25lZCByZWQgPSBjb2xvck1hcFtjb2xvckluZGV4XTsKICAgICAgICAgICAg
IHVuc2lnbmVkIGdyZWVuID0gY29sb3JNYXBbY29sb3JJbmRleCArIDFdOwogICAgICAgICAgICAg
dW5zaWduZWQgYmx1ZSA9IGNvbG9yTWFwW2NvbG9ySW5kZXggKyAyXTsKICAgICAgICAgICAgIFJH
QkEzMkJ1ZmZlcjo6c2V0UkdCQSgqY3VyckRzdCwgcmVkLCBncmVlbiwgYmx1ZSwgMjU1KTsKICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmICghc2F3QWxwaGEpIHsKLSAgICAgICAgICAg
ICAgICBzYXdBbHBoYSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnVmZmVyLnNldEhhc0FscGhh
KHRydWUpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNv
bXBvc2l0ZVdpdGhQcmV2aW91c0ZyYW1lKQotICAgICAgICAgICAgICAgIFJHQkEzMkJ1ZmZlcjo6
c2V0UkdCQSgqY3VyckRzdCwgMCwgMCwgMCwgMCk7CisgICAgICAgICAgICBtX2N1cnJlbnRCdWZm
ZXJTYXdBbHBoYSA9IHRydWU7CiAgICAgICAgIH0KICAgICAgICAgY3VyckRzdCsrOwogICAgICAg
ICBjdXJyZW50Um93Qnl0ZSsrOwpAQCAtMzYzLDEzICszNDAsNDkgQEAgdm9pZCBHSUZJbWFnZURl
Y29kZXI6OmhhdmVEZWNvZGVkUm93KHVucwogICAgIGJ1ZmZlci5lbnN1cmVIZWlnaHQocm93TnVt
YmVyICsgcmVwZWF0Q291bnQpOwogfQogCi12b2lkIEdJRkltYWdlRGVjb2Rlcjo6ZnJhbWVDb21w
bGV0ZSh1bnNpZ25lZCBmcmFtZUluZGV4LCB1bnNpZ25lZCBmcmFtZUR1cmF0aW9uLCBib29sIGlu
Y2x1ZGVJbk5leHRGcmFtZSkKK3ZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpmcmFtZUNvbXBsZXRlKHVu
c2lnbmVkIGZyYW1lSW5kZXgsIHVuc2lnbmVkIGZyYW1lRHVyYXRpb24sIFJHQkEzMkJ1ZmZlcjo6
RnJhbWVEaXNwb3NhbE1ldGhvZCBkaXNwb3NhbE1ldGhvZCkKIHsKICAgICBSR0JBMzJCdWZmZXIm
IGJ1ZmZlciA9IG1fZnJhbWVCdWZmZXJDYWNoZVtmcmFtZUluZGV4XTsKKyAgICBidWZmZXIuZW5z
dXJlSGVpZ2h0KG1fc2l6ZS5oZWlnaHQoKSk7CiAgICAgYnVmZmVyLnNldFN0YXR1cyhSR0JBMzJC
dWZmZXI6OkZyYW1lQ29tcGxldGUpOwogICAgIGJ1ZmZlci5zZXREdXJhdGlvbihmcmFtZUR1cmF0
aW9uKTsKLSAgICBidWZmZXIuc2V0SW5jbHVkZUluTmV4dEZyYW1lKGluY2x1ZGVJbk5leHRGcmFt
ZSk7Ci0gICAgYnVmZmVyLmVuc3VyZUhlaWdodChtX3NpemUuaGVpZ2h0KCkpOworICAgIGJ1ZmZl
ci5zZXREaXNwb3NhbE1ldGhvZChkaXNwb3NhbE1ldGhvZCk7CisKKyAgICBpZiAoIW1fY3VycmVu
dEJ1ZmZlclNhd0FscGhhKSB7CisgICAgICAgIC8vIFRoZSB3aG9sZSBmcmFtZSB3YXMgbm9uLXRy
YW5zcGFyZW50LCBzbyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGVudGlyZQorICAgICAgICAvLyBy
ZXN1bHRpbmcgYnVmZmVyIHdhcyBub24tdHJhbnNwYXJlbnQsIGFuZCB3ZSBjYW4gc2V0SGFzQWxw
aGEoZmFsc2UpLgorICAgICAgICBpZiAoYnVmZmVyLnJlY3QoKS5jb250YWlucyhJbnRSZWN0KElu
dFBvaW50KDAsIDApLCBtX3NpemUpKSkgeworICAgICAgICAgICAgYnVmZmVyLnNldEhhc0FscGhh
KGZhbHNlKTsKKyAgICAgICAgfSBlbHNlIGlmIChmcmFtZUluZGV4ID4gMCkgeworICAgICAgICAg
ICAgLy8gVHJpY2t5IGNhc2UuICBUaGlzIGZyYW1lIGRvZXMgbm90IGhhdmUgYWxwaGEgb25seSBp
ZiBldmVyeXdoZXJlCisgICAgICAgICAgICAvLyBvdXRzaWRlIGl0cyByZWN0IGRvZXNuJ3QgaGF2
ZSBhbHBoYS4gIFRvIGtub3cgd2hldGhlciB0aGlzIGlzCisgICAgICAgICAgICAvLyB0cnVlLCB3
ZSBjaGVjayB0aGUgc3RhcnQgc3RhdGUgb2YgdGhlIGZyYW1lIC0tIGlmIGl0IGRvZXNuJ3QgaGF2
ZQorICAgICAgICAgICAgLy8gYWxwaGEsIHdlJ3JlIHNhZmUuCisgICAgICAgICAgICAvLworICAg
ICAgICAgICAgLy8gRmlyc3Qgc2tpcCBvdmVyIHByaW9yIERpc3Bvc2VPdmVyd3JpdGVQcmV2aW91
cyBmcmFtZXMgKHNpbmNlIHRoZXkKKyAgICAgICAgICAgIC8vIGRvbid0IGFmZmVjdCB0aGUgc3Rh
cnQgc3RhdGUgb2YgdGhpcyBmcmFtZSkgdGhlIHNhbWUgd2F5IHdlIGRvIGluCisgICAgICAgICAg
ICAvLyBpbml0RnJhbWVCdWZmZXIoKS4KKyAgICAgICAgICAgIGNvbnN0IFJHQkEzMkJ1ZmZlciog
cHJldkJ1ZmZlciA9ICZtX2ZyYW1lQnVmZmVyQ2FjaGVbLS1mcmFtZUluZGV4XTsKKyAgICAgICAg
ICAgIHdoaWxlICgoZnJhbWVJbmRleCA+IDApICYmCisgICAgICAgICAgICAgICAgICAgIChwcmV2
QnVmZmVyLT5kaXNwb3NhbE1ldGhvZCgpID09CisgICAgICAgICAgICAgICAgICAgICAgICBSR0JB
MzJCdWZmZXI6OkRpc3Bvc2VPdmVyd3JpdGVQcmV2aW91cykpCisgICAgICAgICAgICAgICAgcHJl
dkJ1ZmZlciA9ICZtX2ZyYW1lQnVmZmVyQ2FjaGVbLS1mcmFtZUluZGV4XTsKKworICAgICAgICAg
ICAgLy8gTm93LCBpZiB3ZSdyZSBhdCBhIERpc3Bvc2VOb3RTcGVjaWZpZWQgb3IgRGlzcG9zZUtl
ZXAgZnJhbWUsIHRoZW4KKyAgICAgICAgICAgIC8vIHdlIGNhbiBzYXkgd2UgaGF2ZSBubyBhbHBo
YSBpZiB0aGF0IGZyYW1lIGhhZCBubyBhbHBoYS4gIEJ1dAorICAgICAgICAgICAgLy8gc2luY2Ug
aW4gaW5pdEZyYW1lQnVmZmVyKCkgd2UgYWxyZWFkeSBjb3BpZWQgdGhhdCBmcmFtZSdzIGFscGhh
CisgICAgICAgICAgICAvLyBzdGF0ZSBpbnRvIHRoZSBjdXJyZW50IGZyYW1lJ3MsIHdlIG5lZWQg
ZG8gbm90aGluZyBhdCBhbGwgaGVyZS4KKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBU
aGUgb25seSByZW1haW5pbmcgY2FzZSBpcyBhIERpc3Bvc2VPdmVyd3JpdGVCZ2NvbG9yIGZyYW1l
LiAgSWYKKyAgICAgICAgICAgIC8vIGl0IGhhZCBubyBhbHBoYSwgYW5kIGl0cyByZWN0IGlzIGNv
bnRhaW5lZCBpbiB0aGUgY3VycmVudCBmcmFtZSdzCisgICAgICAgICAgICAvLyByZWN0LCB3ZSBr
bm93IHRoZSBjdXJyZW50IGZyYW1lIGhhcyBubyBhbHBoYS4KKyAgICAgICAgICAgIGlmICgocHJl
dkJ1ZmZlci0+ZGlzcG9zYWxNZXRob2QoKSA9PQorICAgICAgICAgICAgICAgICAgICBSR0JBMzJC
dWZmZXI6OkRpc3Bvc2VPdmVyd3JpdGVCZ2NvbG9yKSAmJgorICAgICAgICAgICAgICAgICAgICAh
cHJldkJ1ZmZlci0+aGFzQWxwaGEoKSAmJgorICAgICAgICAgICAgICAgICAgICBidWZmZXIucmVj
dCgpLmNvbnRhaW5zKHByZXZCdWZmZXItPnJlY3QoKSkpCisgICAgICAgICAgICAgICAgYnVmZmVy
LnNldEhhc0FscGhhKGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBHSUZJbWFn
ZURlY29kZXI6OmdpZkNvbXBsZXRlKCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5oCShyZXZpc2lvbiAyODA2MSkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC02NSwxOCArNjUsMjAgQEAgcHVibGljOgogICAgIHZvaWQgZGVj
b2RpbmdIYWx0ZWQodW5zaWduZWQgYnl0ZXNMZWZ0KTsKICAgICB2b2lkIGhhdmVEZWNvZGVkUm93
KHVuc2lnbmVkIGZyYW1lSW5kZXgsIHVuc2lnbmVkIGNoYXIqIHJvd0J1ZmZlciwgdW5zaWduZWQg
Y2hhciogcm93RW5kLCB1bnNpZ25lZCByb3dOdW1iZXIsIAogICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgcmVwZWF0Q291bnQpOwotICAgIHZvaWQgZnJhbWVDb21wbGV0ZSh1bnNpZ25l
ZCBmcmFtZUluZGV4LCB1bnNpZ25lZCBmcmFtZUR1cmF0aW9uLCBib29sIGluY2x1ZGVJbk5leHRG
cmFtZSk7CisgICAgdm9pZCBmcmFtZUNvbXBsZXRlKHVuc2lnbmVkIGZyYW1lSW5kZXgsIHVuc2ln
bmVkIGZyYW1lRHVyYXRpb24sIFJHQkEzMkJ1ZmZlcjo6RnJhbWVEaXNwb3NhbE1ldGhvZCBkaXNw
b3NhbE1ldGhvZCk7CiAgICAgdm9pZCBnaWZDb21wbGV0ZSgpOwogCiBwcml2YXRlOgotICAgIC8v
IENhbGxlZCB0byBpbml0aWFsaXplIGEgbmV3IGZyYW1lIGJ1ZmZlciAocG90ZW50aWFsbHkgY29t
cG9zaXRpbmcgaXQKLSAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBmcmFtZSBhbmQvb3IgY2xlYXJp
bmcgYml0cyBpbiBvdXIgaW1hZ2UgYmFzZWQgb2ZmCi0gICAgLy8gdGhlIHByZXZpb3VzIGZyYW1l
IGFzIHdlbGwpLgotICAgIHZvaWQgaW5pdEZyYW1lQnVmZmVyKFJHQkEzMkJ1ZmZlciYgYnVmZmVy
LAotICAgICAgICAgICAgICAgICAgICAgICAgIFJHQkEzMkJ1ZmZlciogcHJldmlvdXNCdWZmZXIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjb21wb3NpdGVXaXRoUHJldmlvdXNGcmFt
ZSk7CisgICAgLy8gQ2FsbGVkIHRvIGluaXRpYWxpemUgdGhlIGZyYW1lIGJ1ZmZlciB3aXRoIHRo
ZSBnaXZlbiBpbmRleCwgYmFzZWQgb24gdGhlCisgICAgLy8gcHJldmlvdXMgZnJhbWUncyBkaXNw
b3NhbCBtZXRob2QuCisgICAgdm9pZCBpbml0RnJhbWVCdWZmZXIodW5zaWduZWQgZnJhbWVJbmRl
eCk7CisKKyAgICAvLyBBIGhlbHBlciBmb3IgaW5pdEZyYW1lQnVmZmVyKCksIHRoaXMgc2V0cyB0
aGUgc2l6ZSBvZiB0aGUgYnVmZmVyLCBhbmQKKyAgICAvLyBmaWxscyBpdCB3aXRoIHRyYW5zcGFy
ZW50IHBpeGVscy4KKyAgICB2b2lkIHByZXBFbXB0eUZyYW1lQnVmZmVyKFJHQkEzMkJ1ZmZlciog
YnVmZmVyKSBjb25zdDsKIAogICAgIGJvb2wgbV9mcmFtZUNvdW50VmFsaWQ7CisgICAgYm9vbCBt
X2N1cnJlbnRCdWZmZXJTYXdBbHBoYTsKICAgICBtdXRhYmxlIEdJRkltYWdlRGVjb2RlclByaXZh
dGUqIG1fcmVhZGVyOwogfTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9naWYvR0lGSW1hZ2VSZWFkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmNwcAkocmV2aXNpb24gMjgwNjEpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY0MSwxMSArNjQxLDEzIEBAIGJvb2wgR0lGSW1hZ2VSZWFkZXI6
OnJlYWQoY29uc3QgdW5zaWduZWQKICAgICAgICAgICBmcmFtZV9yZWFkZXItPmlzX3RyYW5zcGFy
ZW50ID0gZmFsc2U7CiAgICAgICAgICAgLy8gaWdub3JpbmcgZ2Z4IGNvbnRyb2wgZXh0ZW5zaW9u
CiAgICAgICAgIH0KLSAgICAgICAgZnJhbWVfcmVhZGVyLT5kaXNwb3NhbF9tZXRob2QgPSAoZ2Rp
c3Bvc2UpKCgoKnEpID4+IDIpICYgMHg3KTsKKyAgICAgICAgLy8gTk9URTogVGhpcyByZWxpZXMg
b24gdGhlIHZhbHVlcyBpbiB0aGUgRnJhbWVEaXNwb3NhbE1ldGhvZCBlbnVtCisgICAgICAgIC8v
IG1hdGNoaW5nIHRob3NlIGluIHRoZSBHSUYgc3BlYyEKKyAgICAgICAgZnJhbWVfcmVhZGVyLT5k
aXNwb3NhbF9tZXRob2QgPSAoV2ViQ29yZTo6UkdCQTMyQnVmZmVyOjpGcmFtZURpc3Bvc2FsTWV0
aG9kKSgoKCpxKSA+PiAyKSAmIDB4Nyk7CiAgICAgICAgIC8vIFNvbWUgc3BlY3Mgc2F5IDNyZCBi
aXQgKHZhbHVlIDQpLCBvdGhlciBzcGVjcyBzYXkgdmFsdWUgMwogICAgICAgICAvLyBMZXQncyBj
aG9vc2UgMyAodGhlIG1vcmUgcG9wdWxhcikKICAgICAgICAgaWYgKGZyYW1lX3JlYWRlci0+ZGlz
cG9zYWxfbWV0aG9kID09IDQpCi0gICAgICAgICAgZnJhbWVfcmVhZGVyLT5kaXNwb3NhbF9tZXRo
b2QgPSAoZ2Rpc3Bvc2UpMzsKKyAgICAgICAgICBmcmFtZV9yZWFkZXItPmRpc3Bvc2FsX21ldGhv
ZCA9IFdlYkNvcmU6OlJHQkEzMkJ1ZmZlcjo6RGlzcG9zZU92ZXJ3cml0ZVByZXZpb3VzOwogICAg
ICAgICBmcmFtZV9yZWFkZXItPmRlbGF5X3RpbWUgPSBHRVRJTlQxNihxICsgMSkgKiAxMDsKICAg
ICAgIH0KICAgICAgIEdFVE4oMSwgZ2lmX2NvbnN1bWVfYmxvY2spOwpAQCAtODgyLDcgKzg4NCw3
IEBAIGJvb2wgR0lGSW1hZ2VSZWFkZXI6OnJlYWQoY29uc3QgdW5zaWduZWQKICAgICAgICAgLy8g
Q0FMTEJBQ0s6IFRoZSBmcmFtZSBpcyBub3cgY29tcGxldGUuCiAgICAgICAgIGlmIChjbGllbnRw
dHIgJiYgZnJhbWVfcmVhZGVyKQogICAgICAgICAgIGNsaWVudHB0ci0+ZnJhbWVDb21wbGV0ZShp
bWFnZXNfZGVjb2RlZCAtIDEsIGZyYW1lX3JlYWRlci0+ZGVsYXlfdGltZSwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX3JlYWRlci0+ZGlzcG9zYWxfbWV0aG9kID09
IERJU1BPU0VfS0VFUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1l
X3JlYWRlci0+ZGlzcG9zYWxfbWV0aG9kKTsKIAogICAgICAgICAvKiBDbGVhciBzdGF0ZSBmcm9t
IHRoaXMgaW1hZ2UgKi8KICAgICAgICAgaWYgKGZyYW1lX3JlYWRlcikgewpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5o
CShyZXZpc2lvbiAyODA2MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lm
L0dJRkltYWdlUmVhZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDE2ICs3Niw2IEBAIHR5cGVk
ZWYgZW51bSB7CiAgICAgZ2lmX2NvbnN1bWVfY29tbWVudAogfSBnc3RhdGU7CiAKLS8qICJEaXNw
b3NhbCIgbWV0aG9kIGluZGljYXRlcyBob3cgdGhlIGltYWdlIHNob3VsZCBiZSBoYW5kbGVkIGlu
IHRoZQotICAgZnJhbWVidWZmZXIgYmVmb3JlIHRoZSBzdWJzZXF1ZW50IGltYWdlIGlzIGRpc3Bs
YXllZC4gKi8KLXR5cGVkZWYgZW51bSAKLXsKLSAgICBESVNQT1NFX05PVF9TUEVDSUZJRUQgICAg
ICA9IDAsCi0gICAgRElTUE9TRV9LRUVQICAgICAgICAgICAgICAgPSAxLCAvKiBMZWF2ZSBpdCBp
biB0aGUgZnJhbWVidWZmZXIgKi8KLSAgICBESVNQT1NFX09WRVJXUklURV9CR0NPTE9SICA9IDIs
IC8qIE92ZXJ3cml0ZSB3aXRoIGJhY2tncm91bmQgY29sb3IgKi8KLSAgICBESVNQT1NFX09WRVJX
UklURV9QUkVWSU9VUyA9IDMgIC8qIFNhdmUtdW5kZXIgKi8KLX0gZ2Rpc3Bvc2U7Ci0KIHN0cnVj
dCBHSUZGcmFtZVJlYWRlciB7CiAgICAgLyogTFpXIGRlY29kZXIgc3RhdGUgbWFjaGluZSAqLwog
ICAgIHVuc2lnbmVkIGNoYXIgKnN0YWNrcDsgICAgICAgICAgICAgIC8qIEN1cnJlbnQgc3RhY2sg
cG9pbnRlciAqLwpAQCAtMTExLDcgKzEwMSw3IEBAIHN0cnVjdCBHSUZGcmFtZVJlYWRlciB7CiAg
ICAgdW5zaWduZWQgaW50IHhfb2Zmc2V0LCB5X29mZnNldDsgICAgLyogV2l0aCByZXNwZWN0IHRv
ICJzY3JlZW4iIG9yaWdpbiAqLwogICAgIHVuc2lnbmVkIGludCBoZWlnaHQsIHdpZHRoOwogICAg
IGludCB0cGl4ZWw7ICAgICAgICAgICAgICAgICAvKiBJbmRleCBvZiB0cmFuc3BhcmVudCBwaXhl
bCAqLwotICAgIGdkaXNwb3NlIGRpc3Bvc2FsX21ldGhvZDsgICAvKiBSZXN0b3JlIHRvIGJhY2tn
cm91bmQsIGxlYXZlIGluIHBsYWNlLCBldGMuKi8KKyAgICBXZWJDb3JlOjpSR0JBMzJCdWZmZXI6
OkZyYW1lRGlzcG9zYWxNZXRob2QgZGlzcG9zYWxfbWV0aG9kOyAgIC8qIFJlc3RvcmUgdG8gYmFj
a2dyb3VuZCwgbGVhdmUgaW4gcGxhY2UsIGV0Yy4qLwogICAgIHVuc2lnbmVkIGNoYXIgKmxvY2Fs
X2NvbG9ybWFwOyAgICAvKiBQZXItaW1hZ2UgY29sb3JtYXAgKi8KICAgICBpbnQgbG9jYWxfY29s
b3JtYXBfc2l6ZTsgICAgLyogU2l6ZSBvZiBsb2NhbCBjb2xvcm1hcCBhcnJheS4gKi8KICAgICAK
QEAgLTE0MCw3ICsxMzAsNyBAQCBzdHJ1Y3QgR0lGRnJhbWVSZWFkZXIgewogCiAgICAgICAgIHhf
b2Zmc2V0ID0geV9vZmZzZXQgPSB3aWR0aCA9IGhlaWdodCA9IDA7CiAgICAgICAgIHRwaXhlbCA9
IDA7Ci0gICAgICAgIGRpc3Bvc2FsX21ldGhvZCA9IERJU1BPU0VfTk9UX1NQRUNJRklFRDsKKyAg
ICAgICAgZGlzcG9zYWxfbWV0aG9kID0gV2ViQ29yZTo6UkdCQTMyQnVmZmVyOjpEaXNwb3NlTm90
U3BlY2lmaWVkOwogCiAgICAgICAgIGxvY2FsX2NvbG9ybWFwID0gMDsKICAgICAgICAgbG9jYWxf
Y29sb3JtYXBfc2l6ZSA9IDA7Cg==
</data>
<flag name="review"
          id="7544"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
      

    </bug>

</bugzilla>