<?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>136383</bug_id>
          
          <creation_ts>2014-08-29 12:31:13 -0700</creation_ts>
          <short_desc>Subpixel layout: Remove LayoutUnit&apos;s kEffectiveFixedPointDenominator.</short_desc>
          <delta_ts>2014-08-29 19:55:52 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136275</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1032223</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-08-29 12:31:13 -0700</bug_when>
    <thetext>No need to have it around anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032226</commentid>
    <comment_count>1</comment_count>
      <attachid>237368</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-08-29 13:09:06 -0700</bug_when>
    <thetext>Created attachment 237368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032229</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-29 13:11:33 -0700</bug_when>
    <thetext>Attachment 237368 did not pass style-queue:


ERROR: Source/WebCore/platform/LayoutUnit.h:881:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032335</commentid>
    <comment_count>3</comment_count>
      <attachid>237368</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-29 19:55:49 -0700</bug_when>
    <thetext>Comment on attachment 237368
Patch

Clearing flags on attachment: 237368

Committed r173135: &lt;http://trac.webkit.org/changeset/173135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032336</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-29 19:55:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237368</attachid>
            <date>2014-08-29 13:09:06 -0700</date>
            <delta_ts>2014-08-29 19:55:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136383-20140829130859.patch</filename>
            <type>text/plain</type>
            <size>16520</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTBjYWVjNDAyZDNhMTZi
NWQzOGY0ODNiNDFmYTZmNjNhMjFjNGFkNy4uNjM4ZjQ0MDhkNDlmN2MwMWNhNmIwMjg0ODZiYTA2
ZmUzYjZjMGVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE0LTA4LTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBS
ZW1vdmUgTGF5b3V0VW5pdCdzIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYzODMuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBvbmx5
IG9uZSBzdWJwaXhlbCBkZW5vbWluYXRvciBub3cuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1
bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dFVuaXQ6OmZyb21GbG9hdENlaWwpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6
ZnJvbUZsb2F0Rmxvb3IpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6dG9JbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6dG9GbG9hdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRVbml0Ojp0b0RvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRVbml0Ojpv
cGVyYXRvcisrKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFVuaXQ6OmNlaWwpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6cm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
VW5pdDo6Zmxvb3IpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6Y2VpbFRvRmxvYXQp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6ZnJhY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0VW5pdDo6ZXBzaWxvbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRVbml0
OjpuZWFybHlNYXgpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0VW5pdDo6bmVhcmx5TWluKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dFVuaXQ6OmlzSW5Cb3VuZHMpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0VW5pdDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Ym91bmRlZE11
bHRpcGx5KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3Jl
OjpvcGVyYXRvci8pOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3IlKToKKyAgICAgICAgKFdl
YkNvcmU6OnJvdW5kVG9EZXZpY2VQaXhlbCk6CisgICAgICAgIChXZWJDb3JlOjpmbG9vclRvRGV2
aWNlUGl4ZWwpOgorICAgICAgICAoV2ViQ29yZTo6Y2VpbFRvRGV2aWNlUGl4ZWwpOgorCisyMDE0
LTA4LTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKICAgICAgICAgSW1wcm92
ZSBzaG93UmVuZGVyVHJlZSgpIG91dHB1dC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNjI0NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0
LmgKaW5kZXggOWM3NDFmODQ5OTUzYWU3MDFlYzZlZDA0ZGM5OTNkYzFmOWIxZDhjMC4uNTk3MGRl
OTEzMjM4MWE3ODRmNTk0YTcxYTViYzVkYjc5ODlkNjA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xheW91dFVuaXQuaApAQCAtNTYsOSArNTYsOCBAQCB3aGlsZSAoMCkKICNlbmRpZgogCiBzdGF0
aWMgY29uc3QgaW50IGtGaXhlZFBvaW50RGVub21pbmF0b3IgPSA2NDsKLXN0YXRpYyBjb25zdCBp
bnQga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvciA9IGtGaXhlZFBvaW50RGVub21pbmF0
b3I7Ci1jb25zdCBpbnQgaW50TWF4Rm9yTGF5b3V0VW5pdCA9IElOVF9NQVggLyBrRWZmZWN0aXZl
Rml4ZWRQb2ludERlbm9taW5hdG9yOwotY29uc3QgaW50IGludE1pbkZvckxheW91dFVuaXQgPSBJ
TlRfTUlOIC8ga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKK2NvbnN0IGludCBpbnRN
YXhGb3JMYXlvdXRVbml0ID0gSU5UX01BWCAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7Citjb25z
dCBpbnQgaW50TWluRm9yTGF5b3V0VW5pdCA9IElOVF9NSU4gLyBrRml4ZWRQb2ludERlbm9taW5h
dG9yOwogCiBjbGFzcyBMYXlvdXRVbml0IHsKIHB1YmxpYzoKQEAgLTY5LDM3ICs2OCwzNyBAQCBw
dWJsaWM6CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBsb25nIHZhbHVlKQogICAgIHsKICNpZiBF
TkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQotICAgICAgICBtX3ZhbHVlID0gY2xh
bXBUbzxpbnQ+KHZhbHVlICoga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcik7CisgICAg
ICAgIG1fdmFsdWUgPSBjbGFtcFRvPGludD4odmFsdWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9y
KTsKICNlbHNlCiAgICAgICAgIFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHN0YXRpY19jYXN0
PHVuc2lnbmVkPih2YWx1ZSkpKTsKLSAgICAgICAgbV92YWx1ZSA9IHZhbHVlICoga0VmZmVjdGl2
ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlICoga0ZpeGVk
UG9pbnREZW5vbWluYXRvcjsKICNlbmRpZgogICAgIH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVk
IGxvbmcgbG9uZyB2YWx1ZSkKICAgICB7CiAjaWYgRU5BQkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykKLSAgICAgICAgbV92YWx1ZSA9IGNsYW1wVG88aW50Pih2YWx1ZSAqIGtFZmZlY3Rp
dmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworICAgICAgICBtX3ZhbHVlID0gY2xhbXBUbzxpbnQ+
KHZhbHVlICoga0ZpeGVkUG9pbnREZW5vbWluYXRvcik7CiAjZWxzZQogICAgICAgICBSRVBPUlRf
T1ZFUkZMT1coaXNJbkJvdW5kcyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmFsdWUpKSk7Ci0gICAg
ICAgIG1fdmFsdWUgPSBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlICoga0VmZmVjdGl2ZUZpeGVkUG9p
bnREZW5vbWluYXRvcik7CisgICAgICAgIG1fdmFsdWUgPSBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVl
ICoga0ZpeGVkUG9pbnREZW5vbWluYXRvcik7CiAjZW5kaWYKICAgICB9CiAgICAgTGF5b3V0VW5p
dChmbG9hdCB2YWx1ZSkKICAgICB7CiAjaWYgRU5BQkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykKLSAgICAgICAgbV92YWx1ZSA9IGNsYW1wVG88ZmxvYXQ+KHZhbHVlICoga0VmZmVjdGl2
ZUZpeGVkUG9pbnREZW5vbWluYXRvciwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KElOVF9NSU4pLCBzdGF0
aWNfY2FzdDxmbG9hdD4oSU5UX01BWCkpOworICAgICAgICBtX3ZhbHVlID0gY2xhbXBUbzxmbG9h
dD4odmFsdWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yLCBzdGF0aWNfY2FzdDxmbG9hdD4oSU5U
X01JTiksIHN0YXRpY19jYXN0PGZsb2F0PihJTlRfTUFYKSk7CiAjZWxzZQogICAgICAgICBSRVBP
UlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOwotICAgICAgICBtX3ZhbHVlID0gdmFsdWUg
KiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOworICAgICAgICBtX3ZhbHVlID0gdmFs
dWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yOwogI2VuZGlmCiAgICAgfQogICAgIExheW91dFVu
aXQoZG91YmxlIHZhbHVlKQogICAgIHsKICNpZiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKQotICAgICAgICBtX3ZhbHVlID0gY2xhbXBUbzxkb3VibGU+KHZhbHVlICoga0VmZmVj
dGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvciwgc3RhdGljX2Nhc3Q8ZG91YmxlPihJTlRfTUlOKSwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihJTlRfTUFYKSk7CisgICAgICAgIG1fdmFsdWUgPSBjbGFtcFRv
PGRvdWJsZT4odmFsdWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yLCBzdGF0aWNfY2FzdDxkb3Vi
bGU+KElOVF9NSU4pLCBzdGF0aWNfY2FzdDxkb3VibGU+KElOVF9NQVgpKTsKICNlbHNlCiAgICAg
ICAgIFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7Ci0gICAgICAgIG1fdmFsdWUg
PSB2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgICAgIG1fdmFs
dWUgPSB2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAjZW5kaWYKICAgICB9CiAKQEAg
LTExMiwxMCArMTExLDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIExheW91dFVuaXQgdjsK
ICNpZiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQotICAgICAgICB2Lm1fdmFs
dWUgPSBjbGFtcFRvSW50ZWdlcihjZWlsZih2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVu
b21pbmF0b3IpKTsKKyAgICAgICAgdi5tX3ZhbHVlID0gY2xhbXBUb0ludGVnZXIoY2VpbGYodmFs
dWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yKSk7CiAjZWxzZQogICAgICAgICBSRVBPUlRfT1ZF
UkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOwotICAgICAgICB2Lm1fdmFsdWUgPSBjZWlsZih2YWx1
ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworICAgICAgICB2Lm1fdmFsdWUg
PSBjZWlsZih2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3IpOwogI2VuZGlmCiAgICAgICAg
IHJldHVybiB2OwogICAgIH0KQEAgLTEyNCwxMCArMTIzLDEwIEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIExheW91dFVuaXQgdjsKICNpZiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKQotICAgICAgICB2Lm1fdmFsdWUgPSBjbGFtcFRvSW50ZWdlcihmbG9vcmYodmFsdWUgKiBr
RWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yKSk7CisgICAgICAgIHYubV92YWx1ZSA9IGNs
YW1wVG9JbnRlZ2VyKGZsb29yZih2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3IpKTsKICNl
bHNlCiAgICAgICAgIFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7Ci0gICAgICAg
IHYubV92YWx1ZSA9IGZsb29yZih2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0
b3IpOworICAgICAgICB2Lm1fdmFsdWUgPSBmbG9vcmYodmFsdWUgKiBrRml4ZWRQb2ludERlbm9t
aW5hdG9yKTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdjsKICAgICB9CkBAIC0xNDgsMTggKzE0
Nyw5IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIH0KIAotICAgIGludCB0b0ludCgpIGNvbnN0IHsg
cmV0dXJuIG1fdmFsdWUgLyBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOyB9Ci0gICAg
ZmxvYXQgdG9GbG9hdCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtX3ZhbHVl
KSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7IH0KLSAgICBkb3VibGUgdG9Eb3Vi
bGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxkb3VibGU+KG1fdmFsdWUpIC8ga0VmZmVj
dGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsgfQotICAgIGZsb2F0IGNlaWxUb0Zsb2F0KCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIGZsb2F0IGZsb2F0VmFsdWUgPSB0b0Zsb2F0KCk7Ci0gICAgICAg
IGlmIChzdGF0aWNfY2FzdDxpbnQ+KGZsb2F0VmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERl
bm9taW5hdG9yKSA9PSBtX3ZhbHVlKQotICAgICAgICAgICAgcmV0dXJuIGZsb2F0VmFsdWU7Ci0g
ICAgICAgIGlmIChmbG9hdFZhbHVlID4gMCkKLSAgICAgICAgICAgIHJldHVybiBuZXh0YWZ0ZXJm
KGZsb2F0VmFsdWUsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSk7Ci0gICAgICAg
IHJldHVybiBuZXh0YWZ0ZXJmKGZsb2F0VmFsdWUsIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjptaW4oKSk7Ci0gICAgfQorICAgIGludCB0b0ludCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUg
LyBrRml4ZWRQb2ludERlbm9taW5hdG9yOyB9CisgICAgZmxvYXQgdG9GbG9hdCgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtX3ZhbHVlKSAvIGtGaXhlZFBvaW50RGVub21pbmF0
b3I7IH0KKyAgICBkb3VibGUgdG9Eb3VibGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxk
b3VibGU+KG1fdmFsdWUpIC8ga0ZpeGVkUG9pbnREZW5vbWluYXRvcjsgfQogICAgIHVuc2lnbmVk
IHRvVW5zaWduZWQoKSBjb25zdCB7IFJFUE9SVF9PVkVSRkxPVyhtX3ZhbHVlID49IDApOyByZXR1
cm4gdG9JbnQoKTsgfQogCiAgICAgb3BlcmF0b3IgaW50KCkgY29uc3QgeyByZXR1cm4gdG9JbnQo
KTsgfQpAQCAtMTcwLDcgKzE2MCw3IEBAIHB1YmxpYzoKIAogICAgIExheW91dFVuaXQmIG9wZXJh
dG9yKysoKQogICAgIHsKLSAgICAgICAgbV92YWx1ZSArPSBrRWZmZWN0aXZlRml4ZWRQb2ludERl
bm9taW5hdG9yOworICAgICAgICBtX3ZhbHVlICs9IGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAg
ICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKQEAgLTE5NSwxMSArMTg1LDExIEBAIHB1Ymxp
YzoKICNlbmRpZgogICAgIHsKICNpZiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KQotICAgICAgICBpZiAoVU5MSUtFTFkobV92YWx1ZSA+PSBJTlRfTUFYIC0ga0VmZmVjdGl2ZUZp
eGVkUG9pbnREZW5vbWluYXRvciArIDEpKQorICAgICAgICBpZiAoVU5MSUtFTFkobV92YWx1ZSA+
PSBJTlRfTUFYIC0ga0ZpeGVkUG9pbnREZW5vbWluYXRvciArIDEpKQogICAgICAgICAgICAgcmV0
dXJuIGludE1heEZvckxheW91dFVuaXQ7CiAjZW5kaWYKICAgICAgICAgaWYgKG1fdmFsdWUgPj0g
MCkKLSAgICAgICAgICAgIHJldHVybiAobV92YWx1ZSArIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVu
b21pbmF0b3IgLSAxKSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgICAg
ICAgICByZXR1cm4gKG1fdmFsdWUgKyBrRml4ZWRQb2ludERlbm9taW5hdG9yIC0gMSkgLyBrRml4
ZWRQb2ludERlbm9taW5hdG9yOwogICAgICAgICByZXR1cm4gdG9JbnQoKTsKICAgICB9CiAKQEAg
LTIwNywyNCArMTk3LDM0IEBAIHB1YmxpYzoKICAgICB7CiAjaWYgRU5BQkxFKFNBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykKICAgICAgICAgaWYgKG1fdmFsdWUgPiAwKQotICAgICAgICAgICAg
cmV0dXJuIHNhdHVyYXRlZEFkZGl0aW9uKHJhd1ZhbHVlKCksIGtFZmZlY3RpdmVGaXhlZFBvaW50
RGVub21pbmF0b3IgLyAyKSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7Ci0gICAg
ICAgIHJldHVybiBzYXR1cmF0ZWRTdWJ0cmFjdGlvbihyYXdWYWx1ZSgpLCAoa0VmZmVjdGl2ZUZp
eGVkUG9pbnREZW5vbWluYXRvciAvIDIpIC0gMSkgLyBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9t
aW5hdG9yOworICAgICAgICAgICAgcmV0dXJuIHNhdHVyYXRlZEFkZGl0aW9uKHJhd1ZhbHVlKCks
IGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAyKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7Cisg
ICAgICAgIHJldHVybiBzYXR1cmF0ZWRTdWJ0cmFjdGlvbihyYXdWYWx1ZSgpLCAoa0ZpeGVkUG9p
bnREZW5vbWluYXRvciAvIDIpIC0gMSkgLyBrRml4ZWRQb2ludERlbm9taW5hdG9yOwogI2Vsc2UK
ICAgICAgICAgaWYgKG1fdmFsdWUgPiAwKQotICAgICAgICAgICAgcmV0dXJuIChtX3ZhbHVlICsg
KGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IgLyAyKSkgLyBrRWZmZWN0aXZlRml4ZWRQ
b2ludERlbm9taW5hdG9yOwotICAgICAgICByZXR1cm4gKG1fdmFsdWUgLSAoKGtFZmZlY3RpdmVG
aXhlZFBvaW50RGVub21pbmF0b3IgLyAyKSAtIDEpKSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVu
b21pbmF0b3I7CisgICAgICAgICAgICByZXR1cm4gKG1fdmFsdWUgKyAoa0ZpeGVkUG9pbnREZW5v
bWluYXRvciAvIDIpKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgICAgIHJldHVybiAo
bV92YWx1ZSAtICgoa0ZpeGVkUG9pbnREZW5vbWluYXRvciAvIDIpIC0gMSkpIC8ga0ZpeGVkUG9p
bnREZW5vbWluYXRvcjsKICNlbmRpZgogICAgIH0KIAogICAgIGludCBmbG9vcigpIGNvbnN0CiAg
ICAgewogI2lmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCi0gICAgICAgIGlm
IChVTkxJS0VMWShtX3ZhbHVlIDw9IElOVF9NSU4gKyBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9t
aW5hdG9yIC0gMSkpCisgICAgICAgIGlmIChVTkxJS0VMWShtX3ZhbHVlIDw9IElOVF9NSU4gKyBr
Rml4ZWRQb2ludERlbm9taW5hdG9yIC0gMSkpCiAgICAgICAgICAgICByZXR1cm4gaW50TWluRm9y
TGF5b3V0VW5pdDsKICNlbmRpZgogICAgICAgICBpZiAobV92YWx1ZSA+PSAwKQogICAgICAgICAg
ICAgcmV0dXJuIHRvSW50KCk7Ci0gICAgICAgIHJldHVybiAobV92YWx1ZSAtIGtFZmZlY3RpdmVG
aXhlZFBvaW50RGVub21pbmF0b3IgKyAxKSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0
b3I7CisgICAgICAgIHJldHVybiAobV92YWx1ZSAtIGtGaXhlZFBvaW50RGVub21pbmF0b3IgKyAx
KSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgfQorCisgICAgZmxvYXQgY2VpbFRvRmxv
YXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgZmxvYXQgZmxvYXRWYWx1ZSA9IHRvRmxvYXQoKTsK
KyAgICAgICAgaWYgKHN0YXRpY19jYXN0PGludD4oZmxvYXRWYWx1ZSAqIGtGaXhlZFBvaW50RGVu
b21pbmF0b3IpID09IG1fdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gZmxvYXRWYWx1ZTsKKyAg
ICAgICAgaWYgKGZsb2F0VmFsdWUgPiAwKQorICAgICAgICAgICAgcmV0dXJuIG5leHRhZnRlcmYo
ZmxvYXRWYWx1ZSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKKyAgICAgICAg
cmV0dXJuIG5leHRhZnRlcmYoZmxvYXRWYWx1ZSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46
Om1pbigpKTsKICAgICB9CiAKICAgICBMYXlvdXRVbml0IGZyYWN0aW9uKCkgY29uc3QKQEAgLTIz
Miw3ICsyMzIsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEFkZCB0aGUgZnJhY3Rpb24gdG8gdGhl
IHNpemUgKGFzIG9wcG9zZWQgdG8gdGhlIGZ1bGwgbG9jYXRpb24pIHRvIGF2b2lkIG92ZXJmbG93
cy4KICAgICAgICAgLy8gQ29tcHV0ZSBmcmFjdGlvbiB1c2luZyB0aGUgbW9kIG9wZXJhdG9yIHRv
IHByZXNlcnZlIHRoZSBzaWduIG9mIHRoZSB2YWx1ZSBhcyBpdCBtYXkgYWZmZWN0IHJvdW5kaW5n
LgogICAgICAgICBMYXlvdXRVbml0IGZyYWN0aW9uOwotICAgICAgICBmcmFjdGlvbi5zZXRSYXdW
YWx1ZShyYXdWYWx1ZSgpICUga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcik7CisgICAg
ICAgIGZyYWN0aW9uLnNldFJhd1ZhbHVlKHJhd1ZhbHVlKCkgJSBrRml4ZWRQb2ludERlbm9taW5h
dG9yKTsKICAgICAgICAgcmV0dXJuIGZyYWN0aW9uOwogICAgIH0KIApAQCAtMjQyLDcgKzI0Miw3
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHx8IHJhd1ZhbHVlKCkgPT0gc3RkOjpudW1lcmljX2xp
bWl0czxpbnQ+OjptaW4oKTsKICAgICB9CiAKLSAgICBzdGF0aWMgZmxvYXQgZXBzaWxvbigpIHsg
cmV0dXJuIDEuMGYgLyBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOyB9CisgICAgc3Rh
dGljIGZsb2F0IGVwc2lsb24oKSB7IHJldHVybiAxLjBmIC8ga0ZpeGVkUG9pbnREZW5vbWluYXRv
cjsgfQogCiAgICAgc3RhdGljIGNvbnN0IExheW91dFVuaXQgbWF4KCkKICAgICB7CkBAIC0yNjEs
MTMgKzI2MSwxMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IExheW91dFVuaXQgbmVhcmx5
TWF4KCkKICAgICB7CiAgICAgICAgIExheW91dFVuaXQgbTsKLSAgICAgICAgbS5tX3ZhbHVlID0g
c3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAtIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVu
b21pbmF0b3IgLyAyOworICAgICAgICBtLm1fdmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGlu
dD46Om1heCgpIC0ga0ZpeGVkUG9pbnREZW5vbWluYXRvciAvIDI7CiAgICAgICAgIHJldHVybiBt
OwogICAgIH0KICAgICBzdGF0aWMgY29uc3QgTGF5b3V0VW5pdCBuZWFybHlNaW4oKQogICAgIHsK
ICAgICAgICAgTGF5b3V0VW5pdCBtOwotICAgICAgICBtLm1fdmFsdWUgPSBzdGQ6Om51bWVyaWNf
bGltaXRzPGludD46Om1pbigpICsga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvciAvIDI7
CisgICAgICAgIG0ubV92YWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCkgKyBr
Rml4ZWRQb2ludERlbm9taW5hdG9yIC8gMjsKICAgICAgICAgcmV0dXJuIG07CiAgICAgfQogICAg
IApAQCAtMjc5LDE1ICsyNzksMTUgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgYm9v
bCBpc0luQm91bmRzKGludCB2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJldHVybiA6OmFicyh2YWx1
ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAvIGtFZmZlY3RpdmVGaXhlZFBv
aW50RGVub21pbmF0b3I7CisgICAgICAgIHJldHVybiA6OmFicyh2YWx1ZSkgPD0gc3RkOjpudW1l
cmljX2xpbWl0czxpbnQ+OjptYXgoKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAgICAgfQog
ICAgIHN0YXRpYyBib29sIGlzSW5Cb3VuZHModW5zaWduZWQgdmFsdWUpCiAgICAgewotICAgICAg
ICByZXR1cm4gdmFsdWUgPD0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN0ZDo6bnVtZXJpY19saW1p
dHM8aW50Pjo6bWF4KCkpIC8ga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyAgICAg
ICAgcmV0dXJuIHZhbHVlIDw9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGQ6Om51bWVyaWNfbGlt
aXRzPGludD46Om1heCgpKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAgICAgfQogICAgIHN0
YXRpYyBib29sIGlzSW5Cb3VuZHMoZG91YmxlIHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IDo6ZmFicyh2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAvIGtFZmZl
Y3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgICAgIHJldHVybiA6OmZhYnModmFsdWUp
IDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyBrRml4ZWRQb2ludERlbm9taW5h
dG9yOwogICAgIH0KICAgICAKICAgICBpbmxpbmUgdm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCkBA
IC0yOTgsMTAgKzI5OCwxMCBAQCBwcml2YXRlOgogICAgICAgICBlbHNlIGlmICh2YWx1ZSA8IGlu
dE1pbkZvckxheW91dFVuaXQpCiAgICAgICAgICAgICBtX3ZhbHVlID0gc3RkOjpudW1lcmljX2xp
bWl0czxpbnQ+OjptaW4oKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV92YWx1ZSA9IHZh
bHVlICoga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyAgICAgICAgICAgIG1fdmFs
dWUgPSB2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAjZWxzZQogICAgICAgICBSRVBP
UlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOwotICAgICAgICBtX3ZhbHVlID0gdmFsdWUg
KiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOworICAgICAgICBtX3ZhbHVlID0gdmFs
dWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yOwogI2VuZGlmCiAgICAgfQogICAgIGlubGluZSB2
b2lkIHNldFZhbHVlKHVuc2lnbmVkIHZhbHVlKQpAQCAtMzEwLDEwICszMTAsMTAgQEAgcHJpdmF0
ZToKICAgICAgICAgaWYgKHZhbHVlID49IHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbnRNYXhGb3JM
YXlvdXRVbml0KSkKICAgICAgICAgICAgIG1fdmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGlu
dD46Om1heCgpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX3ZhbHVlID0gdmFsdWUgKiBr
RWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOworICAgICAgICAgICAgbV92YWx1ZSA9IHZh
bHVlICoga0ZpeGVkUG9pbnREZW5vbWluYXRvcjsKICNlbHNlCiAgICAgICAgIFJFUE9SVF9PVkVS
RkxPVyhpc0luQm91bmRzKHZhbHVlKSk7Ci0gICAgICAgIG1fdmFsdWUgPSB2YWx1ZSAqIGtFZmZl
Y3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgICAgIG1fdmFsdWUgPSB2YWx1ZSAqIGtG
aXhlZFBvaW50RGVub21pbmF0b3I7CiAjZW5kaWYKICAgICB9CiAKQEAgLTQ4Myw3ICs0ODMsNyBA
QCBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IGZsb2F0IGEsIGNvbnN0IExheW91dFVuaXQm
IGIpCiAvLyBGb3IgbXVsdGlwbGljYXRpb24gdGhhdCdzIHByb25lIHRvIG92ZXJmbG93LCB0aGlz
IGJvdW5kcyBpdCB0byBMYXlvdXRVbml0OjptYXgoKSBhbmQgOjptaW4oKQogaW5saW5lIExheW91
dFVuaXQgYm91bmRlZE11bHRpcGx5KGNvbnN0IExheW91dFVuaXQmIGEsIGNvbnN0IExheW91dFVu
aXQmIGIpCiB7Ci0gICAgaW50NjRfdCByZXN1bHQgPSBzdGF0aWNfY2FzdDxpbnQ2NF90PihhLnJh
d1ZhbHVlKCkpICogc3RhdGljX2Nhc3Q8aW50NjRfdD4oYi5yYXdWYWx1ZSgpKSAvIGtFZmZlY3Rp
dmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisgICAgaW50NjRfdCByZXN1bHQgPSBzdGF0aWNfY2Fz
dDxpbnQ2NF90PihhLnJhd1ZhbHVlKCkpICogc3RhdGljX2Nhc3Q8aW50NjRfdD4oYi5yYXdWYWx1
ZSgpKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAgICAgaW50MzJfdCBoaWdoID0gc3RhdGlj
X2Nhc3Q8aW50MzJfdD4ocmVzdWx0ID4+IDMyKTsKICAgICBpbnQzMl90IGxvdyA9IHN0YXRpY19j
YXN0PGludDMyX3Q+KHJlc3VsdCk7CiAgICAgdWludDMyX3Qgc2F0dXJhdGVkID0gKHN0YXRpY19j
YXN0PHVpbnQzMl90PihhLnJhd1ZhbHVlKCkgXiBiLnJhd1ZhbHVlKCkpID4+IDMxKSArIHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CkBAIC01MDIsNyArNTAyLDcgQEAgaW5saW5lIExh
eW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IExheW91dFVuaXQmIGEsIGNvbnN0IExheW91dFVuaXQm
IGIpCiAgICAgcmV0dXJuIGJvdW5kZWRNdWx0aXBseShhLCBiKTsKICNlbHNlCiAgICAgTGF5b3V0
VW5pdCByZXR1cm5WYWw7Ci0gICAgbG9uZyBsb25nIHJhd1ZhbCA9IHN0YXRpY19jYXN0PGxvbmcg
bG9uZz4oYS5yYXdWYWx1ZSgpKSAqIGIucmF3VmFsdWUoKSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50
RGVub21pbmF0b3I7CisgICAgbG9uZyBsb25nIHJhd1ZhbCA9IHN0YXRpY19jYXN0PGxvbmcgbG9u
Zz4oYS5yYXdWYWx1ZSgpKSAqIGIucmF3VmFsdWUoKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7
CiAgICAgcmV0dXJuVmFsLnNldFJhd1ZhbHVlKHJhd1ZhbCk7CiAgICAgcmV0dXJuIHJldHVyblZh
bDsKICNlbmRpZgpAQCAtNTgxLDcgKzU4MSw3IEBAIGlubGluZSBkb3VibGUgb3BlcmF0b3IqKGNv
bnN0IGRvdWJsZSBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogaW5saW5lIExheW91dFVuaXQgb3Bl
cmF0b3IvKGNvbnN0IExheW91dFVuaXQmIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCiB7CiAgICAg
TGF5b3V0VW5pdCByZXR1cm5WYWw7Ci0gICAgbG9uZyBsb25nIHJhd1ZhbCA9IHN0YXRpY19jYXN0
PGxvbmcgbG9uZz4oa0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcikgKiBhLnJhd1ZhbHVl
KCkgLyBiLnJhd1ZhbHVlKCk7CisgICAgbG9uZyBsb25nIHJhd1ZhbCA9IHN0YXRpY19jYXN0PGxv
bmcgbG9uZz4oa0ZpeGVkUG9pbnREZW5vbWluYXRvcikgKiBhLnJhd1ZhbHVlKCkgLyBiLnJhd1Zh
bHVlKCk7CiAjaWYgRU5BQkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykKICAgICByZXR1
cm5WYWwuc2V0UmF3VmFsdWUoY2xhbXBUbzxpbnQ+KHJhd1ZhbCkpOwogI2Vsc2UKQEAgLTc1Nyw4
ICs3NTcsOCBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciUoY29uc3QgTGF5b3V0VW5pdCYg
YSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAgICAvLyBUaGlzIGNhbGN1bGF0ZXMgdGhlIG1v
ZHVsbyBzbyB0aGF0OiBhID0gKGEgLyBiKSAqIGIgKyBhICUgYi4KICAgICBMYXlvdXRVbml0IHJl
dHVyblZhbDsKLSAgICBsb25nIGxvbmcgcmF3VmFsID0gKHN0YXRpY19jYXN0PGxvbmcgbG9uZz4o
a0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcikgKiBhLnJhd1ZhbHVlKCkpICUgYi5yYXdW
YWx1ZSgpOwotICAgIHJldHVyblZhbC5zZXRSYXdWYWx1ZShyYXdWYWwgLyBrRWZmZWN0aXZlRml4
ZWRQb2ludERlbm9taW5hdG9yKTsKKyAgICBsb25nIGxvbmcgcmF3VmFsID0gKHN0YXRpY19jYXN0
PGxvbmcgbG9uZz4oa0ZpeGVkUG9pbnREZW5vbWluYXRvcikgKiBhLnJhd1ZhbHVlKCkpICUgYi5y
YXdWYWx1ZSgpOworICAgIHJldHVyblZhbC5zZXRSYXdWYWx1ZShyYXdWYWwgLyBrRml4ZWRQb2lu
dERlbm9taW5hdG9yKTsKICAgICByZXR1cm4gcmV0dXJuVmFsOwogfQogCkBAIC04NzgsNyArODc4
LDcgQEAgaW5saW5lIGludCBmbG9vclRvSW50KExheW91dFVuaXQgdmFsdWUpCiAKIGlubGluZSBm
bG9hdCByb3VuZFRvRGV2aWNlUGl4ZWwoTGF5b3V0VW5pdCB2YWx1ZSwgY29uc3QgZmxvYXQgcGl4
ZWxTbmFwcGluZ0ZhY3RvciwgYm9vbCBuZWVkc0RpcmVjdGlvbmFsUm91bmRpbmcgPSBmYWxzZSkK
IHsKLSAgICBhdXRvIHJvdW5kSW50ZXJuYWwgPSBbJl0gKGZsb2F0IHZhbHVlVG9Sb3VuZCkgeyBy
ZXR1cm4gcm91bmRmKCh2YWx1ZVRvUm91bmQgKiBwaXhlbFNuYXBwaW5nRmFjdG9yKSAvIGtFZmZl
Y3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpIC8gcGl4ZWxTbmFwcGluZ0ZhY3RvcjsgfTsKKyAg
ICBhdXRvIHJvdW5kSW50ZXJuYWwgPSBbJl0gKGZsb2F0IHZhbHVlVG9Sb3VuZCkgeyByZXR1cm4g
cm91bmRmKCh2YWx1ZVRvUm91bmQgKiBwaXhlbFNuYXBwaW5nRmFjdG9yKSAvIGtGaXhlZFBvaW50
RGVub21pbmF0b3IpIC8gcGl4ZWxTbmFwcGluZ0ZhY3RvcjsgfTsKIAogICAgIGZsb2F0IGFkanVz
dGVkVmFsdWUgPSB2YWx1ZS5yYXdWYWx1ZSgpIC0gKG5lZWRzRGlyZWN0aW9uYWxSb3VuZGluZyA/
IExheW91dFVuaXQ6OmVwc2lsb24oKSAvIDIuMGYgOiAwKTsKICAgICBpZiAoYWRqdXN0ZWRWYWx1
ZSA+PSAwKQpAQCAtODg3LDE3ICs4ODcsMTcgQEAgaW5saW5lIGZsb2F0IHJvdW5kVG9EZXZpY2VQ
aXhlbChMYXlvdXRVbml0IHZhbHVlLCBjb25zdCBmbG9hdCBwaXhlbFNuYXBwaW5nRmFjdG8KICAg
ICAvLyBUaGlzIGFkanVzdHMgZGlyZWN0aW9uYWwgcm91bmRpbmcgb24gbmVnYXRpdmUgaGFsZndh
eSB2YWx1ZXMuIEl0IHByb2R1Y2VzIHRoZSBzYW1lIGRpcmVjdGlvbiBmb3IgYm90aCBuZWdhdGl2
ZSBhbmQgcG9zaXRpdmUgdmFsdWVzLgogICAgIC8vIEl0IGhlbHBzIHNuYXBwaW5nIHJlbGF0aXZl
IG5lZ2F0aXZlIGNvb3JkaW5hdGVzIHRvIHRoZSBzYW1lIHBvc2l0aW9uIGFzIGlmIHRoZXkgd2Vy
ZSBwb3NpdGl2ZSBhYnNvbHV0ZSBjb29yZGluYXRlcy4KICAgICBmbG9hdCB0cmFuc2xhdGVPcmln
aW4gPSBmYWJzZihhZGp1c3RlZFZhbHVlIC0gTGF5b3V0VW5pdDo6ZnJvbVBpeGVsKDEpKTsKLSAg
ICByZXR1cm4gcm91bmRJbnRlcm5hbChhZGp1c3RlZFZhbHVlICsgKHRyYW5zbGF0ZU9yaWdpbiAq
IGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpKSAtIHRyYW5zbGF0ZU9yaWdpbjsKKyAg
ICByZXR1cm4gcm91bmRJbnRlcm5hbChhZGp1c3RlZFZhbHVlICsgKHRyYW5zbGF0ZU9yaWdpbiAq
IGtGaXhlZFBvaW50RGVub21pbmF0b3IpKSAtIHRyYW5zbGF0ZU9yaWdpbjsKIH0KIAogaW5saW5l
IGZsb2F0IGZsb29yVG9EZXZpY2VQaXhlbChMYXlvdXRVbml0IHZhbHVlLCBmbG9hdCBwaXhlbFNu
YXBwaW5nRmFjdG9yKQogewotICAgIHJldHVybiBmbG9vcmYoKHZhbHVlLnJhd1ZhbHVlKCkgKiBw
aXhlbFNuYXBwaW5nRmFjdG9yKSAvIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpIC8g
cGl4ZWxTbmFwcGluZ0ZhY3RvcjsKKyAgICByZXR1cm4gZmxvb3JmKCh2YWx1ZS5yYXdWYWx1ZSgp
ICogcGl4ZWxTbmFwcGluZ0ZhY3RvcikgLyBrRml4ZWRQb2ludERlbm9taW5hdG9yKSAvIHBpeGVs
U25hcHBpbmdGYWN0b3I7CiB9CiAKIGlubGluZSBmbG9hdCBjZWlsVG9EZXZpY2VQaXhlbChMYXlv
dXRVbml0IHZhbHVlLCBmbG9hdCBwaXhlbFNuYXBwaW5nRmFjdG9yKQogewotICAgIHJldHVybiBj
ZWlsZigodmFsdWUucmF3VmFsdWUoKSAqIHBpeGVsU25hcHBpbmdGYWN0b3IpIC8ga0VmZmVjdGl2
ZUZpeGVkUG9pbnREZW5vbWluYXRvcikgLyBwaXhlbFNuYXBwaW5nRmFjdG9yOworICAgIHJldHVy
biBjZWlsZigodmFsdWUucmF3VmFsdWUoKSAqIHBpeGVsU25hcHBpbmdGYWN0b3IpIC8ga0ZpeGVk
UG9pbnREZW5vbWluYXRvcikgLyBwaXhlbFNuYXBwaW5nRmFjdG9yOwogfQogCiBpbmxpbmUgTGF5
b3V0VW5pdCBhYnNvbHV0ZVZhbHVlKGNvbnN0IExheW91dFVuaXQmIHZhbHVlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>