<?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>48928</bug_id>
          
          <creation_ts>2010-11-03 10:12:36 -0700</creation_ts>
          <short_desc>Rename selection gap functions</short_desc>
          <delta_ts>2010-11-03 10:16:44 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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>47237</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304086</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-03 10:12:36 -0700</bug_when>
    <thetext>Rename selection gap functions to not be so illogical. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304089</commentid>
    <comment_count>1</comment_count>
      <attachid>72835</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-03 10:14:27 -0700</bug_when>
    <thetext>Created attachment 72835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304091</commentid>
    <comment_count>2</comment_count>
      <attachid>72835</attachid>
    <who name="">mitz</who>
    <bug_when>2010-11-03 10:15:24 -0700</bug_when>
    <thetext>Comment on attachment 72835
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304092</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-03 10:16:44 -0700</bug_when>
    <thetext>Fixed in r71246.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72835</attachid>
            <date>2010-11-03 10:14:27 -0700</date>
            <delta_ts>2010-11-03 10:15:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>21540</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTI0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMTEtMDMgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODkyOAorICAgICAgICAKKyAgICAg
ICAgUmVuYW1lIGFsbCB0aGUgc2VsZWN0aW9uIGdhcCBmdW5jdGlvbnMgdG8gbm90IGJlIGRpcmVj
dGlvbmFsbHkgc3BlY2lmaWMuICBMZWZ0IGFuZCBSaWdodCB0dXJuIGludG8gTG9naWNhbExlZnQg
YW5kCisgICAgICAgIExvZ2ljYWxSaWdodC4gIEhvcml6b250YWwgYmVjb21lcyBMaW5lLiAgVmVy
dGljYWwgYmVjb21lcyBCbG9jay4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2VsZWN0aW9uR2FwUmVjdHNGb3JS
ZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludFNlbGVjdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZmlsbFNlbGVjdGlvbkdhcHMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbGxJbmxpbmVTZWxlY3Rpb25HYXBzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaWxsQmxvY2tTZWxlY3Rpb25HYXBzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaWxsTGluZVNlbGVjdGlvbkdhcCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZmlsbEJsb2NrU2VsZWN0aW9uR2FwKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaWxsTG9naWNhbExlZnRTZWxlY3Rpb25HYXApOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbGxMb2dpY2FsUmlnaHRTZWxlY3Rpb25H
YXApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmdldFNlbGVjdGlvbkdhcEluZm8p
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0U2VsZWN0aW9uT2Zm
c2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRTZWxlY3Rp
b25PZmZzZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAq
IHJlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxp
bmVCb3g6OmZpbGxMaW5lU2VsZWN0aW9uR2FwKToKKwogMjAxMC0xMS0wMyAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gNzExNzcp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1NTQsOCArMjU1NCw4IEBAIEdhcFJlY3RzIFJlbmRlckJsb2NrOjpzZWxlY3Rpb25HYXBSZWN0
c0YKICAgICAgICAgb2Zmc2V0RnJvbVJlcGFpbnRDb250YWluZXIgLT0gbGF5ZXIoKS0+c2Nyb2xs
ZWRDb250ZW50T2Zmc2V0KCk7CiAKICAgICBpbnQgbGFzdFRvcCA9IDA7Ci0gICAgaW50IGxhc3RM
ZWZ0ID0gbGVmdFNlbGVjdGlvbk9mZnNldCh0aGlzLCBsYXN0VG9wKTsKLSAgICBpbnQgbGFzdFJp
Z2h0ID0gcmlnaHRTZWxlY3Rpb25PZmZzZXQodGhpcywgbGFzdFRvcCk7CisgICAgaW50IGxhc3RM
ZWZ0ID0gbG9naWNhbExlZnRTZWxlY3Rpb25PZmZzZXQodGhpcywgbGFzdFRvcCk7CisgICAgaW50
IGxhc3RSaWdodCA9IGxvZ2ljYWxSaWdodFNlbGVjdGlvbk9mZnNldCh0aGlzLCBsYXN0VG9wKTsK
ICAgICAKICAgICByZXR1cm4gZmlsbFNlbGVjdGlvbkdhcHModGhpcywgb2Zmc2V0RnJvbVJlcGFp
bnRDb250YWluZXIueCgpLCBvZmZzZXRGcm9tUmVwYWludENvbnRhaW5lci55KCksIG9mZnNldEZy
b21SZXBhaW50Q29udGFpbmVyLngoKSwgb2Zmc2V0RnJvbVJlcGFpbnRDb250YWluZXIueSgpLCBs
YXN0VG9wLCBsYXN0TGVmdCwgbGFzdFJpZ2h0KTsKIH0KQEAgLTI1NjQsOCArMjU2NCw4IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OnBhaW50U2VsZWN0aW9uKFBhaW50SW4KIHsKICAgICBpZiAoc2hvdWxk
UGFpbnRTZWxlY3Rpb25HYXBzKCkgJiYgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VGb3Jl
Z3JvdW5kKSB7CiAgICAgICAgIGludCBsYXN0VG9wID0gMDsKLSAgICAgICAgaW50IGxhc3RMZWZ0
ID0gbGVmdFNlbGVjdGlvbk9mZnNldCh0aGlzLCBsYXN0VG9wKTsKLSAgICAgICAgaW50IGxhc3RS
aWdodCA9IHJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHRoaXMsIGxhc3RUb3ApOworICAgICAgICBpbnQg
bGFzdExlZnQgPSBsb2dpY2FsTGVmdFNlbGVjdGlvbk9mZnNldCh0aGlzLCBsYXN0VG9wKTsKKyAg
ICAgICAgaW50IGxhc3RSaWdodCA9IGxvZ2ljYWxSaWdodFNlbGVjdGlvbk9mZnNldCh0aGlzLCBs
YXN0VG9wKTsKICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNhdmUoKTsKICAgICAgICAgSW50
UmVjdCBnYXBSZWN0c0JvdW5kcyA9IGZpbGxTZWxlY3Rpb25HYXBzKHRoaXMsIHR4LCB0eSwgdHgs
IHR5LCBsYXN0VG9wLCBsYXN0TGVmdCwgbGFzdFJpZ2h0LCAmcGFpbnRJbmZvKTsKICAgICAgICAg
aWYgKCFnYXBSZWN0c0JvdW5kcy5pc0VtcHR5KCkpIHsKQEAgLTI2MjksOCArMjYyOSw4IEBAIEdh
cFJlY3RzIFJlbmRlckJsb2NrOjpmaWxsU2VsZWN0aW9uR2FwcygKICAgICBpZiAoaGFzQ29sdW1u
cygpIHx8IGhhc1RyYW5zZm9ybSgpIHx8IHN0eWxlKCktPmNvbHVtblNwYW4oKSkgewogICAgICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIGxlYXJuIGhvdyB0byBnYXAgZmlsbCBtdWx0aXBsZSBjb2x1
bW5zIGFuZCB0cmFuc2Zvcm1zIGV2ZW50dWFsbHkuCiAgICAgICAgIGxhc3RUb3AgPSAodHkgLSBi
bG9ja1kpICsgaGVpZ2h0KCk7Ci0gICAgICAgIGxhc3RMZWZ0ID0gbGVmdFNlbGVjdGlvbk9mZnNl
dChyb290QmxvY2ssIGhlaWdodCgpKTsKLSAgICAgICAgbGFzdFJpZ2h0ID0gcmlnaHRTZWxlY3Rp
b25PZmZzZXQocm9vdEJsb2NrLCBoZWlnaHQoKSk7CisgICAgICAgIGxhc3RMZWZ0ID0gbG9naWNh
bExlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCBoZWlnaHQoKSk7CisgICAgICAgIGxhc3RS
aWdodCA9IGxvZ2ljYWxSaWdodFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ssIGhlaWdodCgpKTsK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKQEAgLTI2NDEsOCArMjY0MSw4IEBAIEdh
cFJlY3RzIFJlbmRlckJsb2NrOjpmaWxsU2VsZWN0aW9uR2FwcygKIAogICAgIC8vIEdvIGFoZWFk
IGFuZCBmaWxsIHRoZSB2ZXJ0aWNhbCBnYXAgYWxsIHRoZSB3YXkgdG8gdGhlIGJvdHRvbSBvZiBv
dXIgYmxvY2sgaWYgdGhlIHNlbGVjdGlvbiBleHRlbmRzIHBhc3Qgb3VyIGJsb2NrLgogICAgIGlm
IChyb290QmxvY2sgPT0gdGhpcyAmJiAoc2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25Cb3Ro
ICYmIHNlbGVjdGlvblN0YXRlKCkgIT0gU2VsZWN0aW9uRW5kKSkKLSAgICAgICAgcmVzdWx0LnVu
aXRlQ2VudGVyKGZpbGxWZXJ0aWNhbFNlbGVjdGlvbkdhcChsYXN0VG9wLCBsYXN0TGVmdCwgbGFz
dFJpZ2h0LCB0eSArIGhlaWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJvb3RCbG9jaywgYmxvY2tYLCBibG9ja1ksIHBhaW50SW5mbykp
OworICAgICAgICByZXN1bHQudW5pdGVDZW50ZXIoZmlsbEJsb2NrU2VsZWN0aW9uR2FwKGxhc3RU
b3AsIGxhc3RMZWZ0LCBsYXN0UmlnaHQsIHR5ICsgaGVpZ2h0KCksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdEJsb2NrLCBibG9ja1gsIGJsb2Nr
WSwgcGFpbnRJbmZvKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMjY1OCw4ICsyNjU4
LDggQEAgR2FwUmVjdHMgUmVuZGVyQmxvY2s6OmZpbGxJbmxpbmVTZWxlY3RpbwogICAgICAgICAg
ICAgLy8gR28gYWhlYWQgYW5kIHVwZGF0ZSBvdXIgbGFzdFkgdG8gYmUgdGhlIGJvdHRvbSBvZiB0
aGUgYmxvY2suICA8aHI+cyBvciBlbXB0eSBibG9ja3Mgd2l0aCBoZWlnaHQgY2FuIHRyaXAgdGhp
cwogICAgICAgICAgICAgLy8gY2FzZS4KICAgICAgICAgICAgIGxhc3RUb3AgPSAodHkgLSBibG9j
a1kpICsgaGVpZ2h0KCk7Ci0gICAgICAgICAgICBsYXN0TGVmdCA9IGxlZnRTZWxlY3Rpb25PZmZz
ZXQocm9vdEJsb2NrLCBoZWlnaHQoKSk7Ci0gICAgICAgICAgICBsYXN0UmlnaHQgPSByaWdodFNl
bGVjdGlvbk9mZnNldChyb290QmxvY2ssIGhlaWdodCgpKTsKKyAgICAgICAgICAgIGxhc3RMZWZ0
ID0gbG9naWNhbExlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCBoZWlnaHQoKSk7CisgICAg
ICAgICAgICBsYXN0UmlnaHQgPSBsb2dpY2FsUmlnaHRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2Nr
LCBoZWlnaHQoKSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBA
IC0yNjc1LDggKzI2NzUsOCBAQCBHYXBSZWN0cyBSZW5kZXJCbG9jazo6ZmlsbElubGluZVNlbGVj
dGlvCiAKICAgICAgICAgaWYgKCFjb250YWluc1N0YXJ0ICYmICFsYXN0U2VsZWN0ZWRMaW5lICYm
CiAgICAgICAgICAgICBzZWxlY3Rpb25TdGF0ZSgpICE9IFNlbGVjdGlvblN0YXJ0ICYmIHNlbGVj
dGlvblN0YXRlKCkgIT0gU2VsZWN0aW9uQm90aCkKLSAgICAgICAgICAgIHJlc3VsdC51bml0ZUNl
bnRlcihmaWxsVmVydGljYWxTZWxlY3Rpb25HYXAobGFzdFRvcCwgbGFzdExlZnQsIGxhc3RSaWdo
dCwgdHkgKyBzZWxUb3AsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJvb3RCbG9jaywgYmxvY2tYLCBibG9ja1ksIHBhaW50SW5mbykpOwor
ICAgICAgICAgICAgcmVzdWx0LnVuaXRlQ2VudGVyKGZpbGxCbG9ja1NlbGVjdGlvbkdhcChsYXN0
VG9wLCBsYXN0TGVmdCwgbGFzdFJpZ2h0LCB0eSArIHNlbFRvcCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdEJsb2NrLCBibG9ja1gsIGJs
b2NrWSwgcGFpbnRJbmZvKSk7CiAKICAgICAgICAgaWYgKCFwYWludEluZm8gfHwgKHR5ICsgc2Vs
VG9wIDwgcGFpbnRJbmZvLT5yZWN0LmJvdHRvbSgpICYmIHR5ICsgc2VsVG9wICsgc2VsSGVpZ2h0
ID4gcGFpbnRJbmZvLT5yZWN0LnkoKSkpCiAgICAgICAgICAgICByZXN1bHQudW5pdGUoY3Vyci0+
ZmlsbExpbmVTZWxlY3Rpb25HYXAoc2VsVG9wLCBzZWxIZWlnaHQsIHJvb3RCbG9jaywgYmxvY2tY
LCBibG9ja1ksIHR4LCB0eSwgcGFpbnRJbmZvKSk7CkBAIC0yNjkxLDggKzI2OTEsOCBAQCBHYXBS
ZWN0cyBSZW5kZXJCbG9jazo6ZmlsbElubGluZVNlbGVjdGlvCiAgICAgaWYgKGxhc3RTZWxlY3Rl
ZExpbmUgJiYgc2VsZWN0aW9uU3RhdGUoKSAhPSBTZWxlY3Rpb25FbmQgJiYgc2VsZWN0aW9uU3Rh
dGUoKSAhPSBTZWxlY3Rpb25Cb3RoKSB7CiAgICAgICAgIC8vIEdvIGFoZWFkIGFuZCB1cGRhdGUg
b3VyIGxhc3RZIHRvIGJlIHRoZSBib3R0b20gb2YgdGhlIGxhc3Qgc2VsZWN0ZWQgbGluZS4KICAg
ICAgICAgbGFzdFRvcCA9ICh0eSAtIGJsb2NrWSkgKyBsYXN0U2VsZWN0ZWRMaW5lLT5zZWxlY3Rp
b25Cb3R0b20oKTsKLSAgICAgICAgbGFzdExlZnQgPSBsZWZ0U2VsZWN0aW9uT2Zmc2V0KHJvb3RC
bG9jaywgbGFzdFNlbGVjdGVkTGluZS0+c2VsZWN0aW9uQm90dG9tKCkpOwotICAgICAgICBsYXN0
UmlnaHQgPSByaWdodFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ssIGxhc3RTZWxlY3RlZExpbmUt
PnNlbGVjdGlvbkJvdHRvbSgpKTsKKyAgICAgICAgbGFzdExlZnQgPSBsb2dpY2FsTGVmdFNlbGVj
dGlvbk9mZnNldChyb290QmxvY2ssIGxhc3RTZWxlY3RlZExpbmUtPnNlbGVjdGlvbkJvdHRvbSgp
KTsKKyAgICAgICAgbGFzdFJpZ2h0ID0gbG9naWNhbFJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHJvb3RC
bG9jaywgbGFzdFNlbGVjdGVkTGluZS0+c2VsZWN0aW9uQm90dG9tKCkpOwogICAgIH0KICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMjcyOCw4ICsyNzI4LDggQEAgR2FwUmVjdHMgUmVuZGVyQmxv
Y2s6OmZpbGxCbG9ja1NlbGVjdGlvbgogICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBmaWxsIHRo
ZSB2ZXJ0aWNhbCBnYXAgYWJvdmUgdGhpcyBvYmplY3QuCiAgICAgICAgICAgICBpZiAoY2hpbGRT
dGF0ZSA9PSBTZWxlY3Rpb25FbmQgfHwgY2hpbGRTdGF0ZSA9PSBTZWxlY3Rpb25JbnNpZGUpCiAg
ICAgICAgICAgICAgICAgLy8gRmlsbCB0aGUgZ2FwIGFib3ZlIHRoZSBvYmplY3QuCi0gICAgICAg
ICAgICAgICAgcmVzdWx0LnVuaXRlQ2VudGVyKGZpbGxWZXJ0aWNhbFNlbGVjdGlvbkdhcChsYXN0
VG9wLCBsYXN0TGVmdCwgbGFzdFJpZ2h0LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5ICsgY3Vyci0+eSgpLCByb290QmxvY2ss
IGJsb2NrWCwgYmxvY2tZLCBwYWludEluZm8pKTsKKyAgICAgICAgICAgICAgICByZXN1bHQudW5p
dGVDZW50ZXIoZmlsbEJsb2NrU2VsZWN0aW9uR2FwKGxhc3RUb3AsIGxhc3RMZWZ0LCBsYXN0Umln
aHQsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHkgKyBjdXJyLT55KCksIHJvb3RCbG9jaywgYmxvY2tYLCBibG9ja1ksIHBhaW50SW5m
bykpOwogCiAgICAgICAgICAgICAvLyBPbmx5IGZpbGwgc2lkZSBnYXBzIGZvciBvYmplY3RzIHRo
YXQgcGFpbnQgdGhlaXIgb3duIHNlbGVjdGlvbiBpZiB3ZSBrbm93IGZvciBzdXJlIHRoZSBzZWxl
Y3Rpb24gaXMgZ29pbmcgdG8gZXh0ZW5kIGFsbCB0aGUgd2F5ICpwYXN0KgogICAgICAgICAgICAg
Ly8gb3VyIG9iamVjdC4gIFdlIGtub3cgdGhpcyBpZiB0aGUgc2VsZWN0aW9uIGRpZCBub3QgZW5k
IGluc2lkZSBvdXIgb2JqZWN0LgpAQCAtMjczOCwxOSArMjczOCwxOSBAQCBHYXBSZWN0cyBSZW5k
ZXJCbG9jazo6ZmlsbEJsb2NrU2VsZWN0aW9uCiAKICAgICAgICAgICAgIC8vIEZpbGwgc2lkZSBn
YXBzIG9uIHRoaXMgb2JqZWN0IGJhc2VkIG9mZiBpdHMgc3RhdGUuCiAgICAgICAgICAgICBib29s
IGxlZnRHYXAsIHJpZ2h0R2FwOwotICAgICAgICAgICAgZ2V0SG9yaXpvbnRhbFNlbGVjdGlvbkdh
cEluZm8oY2hpbGRTdGF0ZSwgbGVmdEdhcCwgcmlnaHRHYXApOworICAgICAgICAgICAgZ2V0U2Vs
ZWN0aW9uR2FwSW5mbyhjaGlsZFN0YXRlLCBsZWZ0R2FwLCByaWdodEdhcCk7CiAKICAgICAgICAg
ICAgIGlmIChsZWZ0R2FwKQotICAgICAgICAgICAgICAgIHJlc3VsdC51bml0ZUxlZnQoZmlsbExl
ZnRTZWxlY3Rpb25HYXAodGhpcywgY3Vyci0+eCgpLCBjdXJyLT55KCksIGN1cnItPmhlaWdodCgp
LCByb290QmxvY2ssIGJsb2NrWCwgYmxvY2tZLCB0eCwgdHksIHBhaW50SW5mbykpOworICAgICAg
ICAgICAgICAgIHJlc3VsdC51bml0ZUxlZnQoZmlsbExvZ2ljYWxMZWZ0U2VsZWN0aW9uR2FwKHRo
aXMsIGN1cnItPngoKSwgY3Vyci0+eSgpLCBjdXJyLT5oZWlnaHQoKSwgcm9vdEJsb2NrLCBibG9j
a1gsIGJsb2NrWSwgdHgsIHR5LCBwYWludEluZm8pKTsKICAgICAgICAgICAgIGlmIChyaWdodEdh
cCkKLSAgICAgICAgICAgICAgICByZXN1bHQudW5pdGVSaWdodChmaWxsUmlnaHRTZWxlY3Rpb25H
YXAodGhpcywgY3Vyci0+eCgpICsgY3Vyci0+d2lkdGgoKSwgY3Vyci0+eSgpLCBjdXJyLT5oZWln
aHQoKSwgcm9vdEJsb2NrLCBibG9ja1gsIGJsb2NrWSwgdHgsIHR5LCBwYWludEluZm8pKTsKKyAg
ICAgICAgICAgICAgICByZXN1bHQudW5pdGVSaWdodChmaWxsTG9naWNhbFJpZ2h0U2VsZWN0aW9u
R2FwKHRoaXMsIGN1cnItPngoKSArIGN1cnItPndpZHRoKCksIGN1cnItPnkoKSwgY3Vyci0+aGVp
Z2h0KCksIHJvb3RCbG9jaywgYmxvY2tYLCBibG9ja1ksIHR4LCB0eSwgcGFpbnRJbmZvKSk7CiAK
ICAgICAgICAgICAgIC8vIFVwZGF0ZSBsYXN0VG9wIHRvIGJlIGp1c3QgdW5kZXJuZWF0aCB0aGUg
b2JqZWN0LiAgbGFzdExlZnQgYW5kIGxhc3RSaWdodCBleHRlbmQgYXMgZmFyIGFzCiAgICAgICAg
ICAgICAvLyB0aGV5IGNhbiB3aXRob3V0IGJ1bXBpbmcgaW50byBmbG9hdGluZyBvciBwb3NpdGlv
bmVkIG9iamVjdHMuICBJZGVhbGx5IHRoZXkgd2lsbCBnbyByaWdodCB1cAogICAgICAgICAgICAg
Ly8gdG8gdGhlIGJvcmRlciBvZiB0aGUgcm9vdCBzZWxlY3Rpb24gYmxvY2suCiAgICAgICAgICAg
ICBsYXN0VG9wID0gKHR5IC0gYmxvY2tZKSArIChjdXJyLT55KCkgKyBjdXJyLT5oZWlnaHQoKSk7
Ci0gICAgICAgICAgICBsYXN0TGVmdCA9IGxlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCBj
dXJyLT55KCkgKyBjdXJyLT5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBsYXN0UmlnaHQgPSByaWdo
dFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ssIGN1cnItPnkoKSArIGN1cnItPmhlaWdodCgpKTsK
KyAgICAgICAgICAgIGxhc3RMZWZ0ID0gbG9naWNhbExlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJs
b2NrLCBjdXJyLT55KCkgKyBjdXJyLT5oZWlnaHQoKSk7CisgICAgICAgICAgICBsYXN0UmlnaHQg
PSBsb2dpY2FsUmlnaHRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCBjdXJyLT55KCkgKyBjdXJy
LT5oZWlnaHQoKSk7CiAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGRTdGF0ZSAhPSBTZWxlY3Rpb25O
b25lKQogICAgICAgICAgICAgLy8gV2UgbXVzdCBiZSBhIGJsb2NrIHRoYXQgaGFzIHNvbWUgc2Vs
ZWN0ZWQgb2JqZWN0IGluc2lkZSBpdC4gIEdvIGFoZWFkIGFuZCByZWN1ci4KICAgICAgICAgICAg
IHJlc3VsdC51bml0ZSh0b1JlbmRlckJsb2NrKGN1cnIpLT5maWxsU2VsZWN0aW9uR2Fwcyhyb290
QmxvY2ssIGJsb2NrWCwgYmxvY2tZLCB0eCArIGN1cnItPngoKSwgdHkgKyBjdXJyLT55KCksIApA
QCAtMjc1OSw3ICsyNzU5LDcgQEAgR2FwUmVjdHMgUmVuZGVyQmxvY2s6OmZpbGxCbG9ja1NlbGVj
dGlvbgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUludFJlY3QgUmVuZGVyQmxvY2s6OmZpbGxI
b3Jpem9udGFsU2VsZWN0aW9uR2FwKFJlbmRlck9iamVjdCogc2VsT2JqLCBpbnQgeFBvcywgaW50
IHlQb3MsIGludCB3aWR0aCwgaW50IGhlaWdodCwgY29uc3QgUGFpbnRJbmZvKiBwYWludEluZm8p
CitJbnRSZWN0IFJlbmRlckJsb2NrOjpmaWxsTGluZVNlbGVjdGlvbkdhcChSZW5kZXJPYmplY3Qq
IHNlbE9iaiwgaW50IHhQb3MsIGludCB5UG9zLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0
IFBhaW50SW5mbyogcGFpbnRJbmZvKQogewogICAgIGlmICh3aWR0aCA8PSAwIHx8IGhlaWdodCA8
PSAwKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwpAQCAtMjc2OSw4ICsyNzY5LDggQEAgSW50
UmVjdCBSZW5kZXJCbG9jazo6ZmlsbEhvcml6b250YWxTZWxlYwogICAgIHJldHVybiBnYXBSZWN0
OwogfQogCi1JbnRSZWN0IFJlbmRlckJsb2NrOjpmaWxsVmVydGljYWxTZWxlY3Rpb25HYXAoaW50
IGxhc3RUb3AsIGludCBsYXN0TGVmdCwgaW50IGxhc3RSaWdodCwgaW50IGJvdHRvbVksIFJlbmRl
ckJsb2NrKiByb290QmxvY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGJsb2NrWCwgaW50IGJsb2NrWSwgY29uc3QgUGFpbnRJbmZvKiBwYWludElu
Zm8pCitJbnRSZWN0IFJlbmRlckJsb2NrOjpmaWxsQmxvY2tTZWxlY3Rpb25HYXAoaW50IGxhc3RU
b3AsIGludCBsYXN0TGVmdCwgaW50IGxhc3RSaWdodCwgaW50IGJvdHRvbVksIFJlbmRlckJsb2Nr
KiByb290QmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IGJsb2NrWCwgaW50IGJsb2NrWSwgY29uc3QgUGFpbnRJbmZvKiBwYWludEluZm8pCiB7CiAg
ICAgaW50IHRvcCA9IGJsb2NrWSArIGxhc3RUb3A7CiAgICAgaW50IGhlaWdodCA9IGJvdHRvbVkg
LSB0b3A7CkBAIC0yNzc4LDggKzI3NzgsOCBAQCBJbnRSZWN0IFJlbmRlckJsb2NrOjpmaWxsVmVy
dGljYWxTZWxlY3RpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKICAgICAvLyBHZXQgdGhl
IHNlbGVjdGlvbiBvZmZzZXRzIGZvciB0aGUgYm90dG9tIG9mIHRoZSBnYXAKLSAgICBpbnQgbGVm
dCA9IGJsb2NrWCArIG1heChsYXN0TGVmdCwgbGVmdFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ss
IGJvdHRvbVkpKTsKLSAgICBpbnQgcmlnaHQgPSBibG9ja1ggKyBtaW4obGFzdFJpZ2h0LCByaWdo
dFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ssIGJvdHRvbVkpKTsKKyAgICBpbnQgbGVmdCA9IGJs
b2NrWCArIG1heChsYXN0TGVmdCwgbG9naWNhbExlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2Nr
LCBib3R0b21ZKSk7CisgICAgaW50IHJpZ2h0ID0gYmxvY2tYICsgbWluKGxhc3RSaWdodCwgbG9n
aWNhbFJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywgYm90dG9tWSkpOwogICAgIGludCB3
aWR0aCA9IHJpZ2h0IC0gbGVmdDsKICAgICBpZiAod2lkdGggPD0gMCkKICAgICAgICAgcmV0dXJu
IEludFJlY3QoKTsKQEAgLTI3OTAsMTIgKzI3OTAsMTIgQEAgSW50UmVjdCBSZW5kZXJCbG9jazo6
ZmlsbFZlcnRpY2FsU2VsZWN0aQogICAgIHJldHVybiBnYXBSZWN0OwogfQogCi1JbnRSZWN0IFJl
bmRlckJsb2NrOjpmaWxsTGVmdFNlbGVjdGlvbkdhcChSZW5kZXJPYmplY3QqIHNlbE9iaiwgaW50
IHhQb3MsIGludCB5UG9zLCBpbnQgaGVpZ2h0LCBSZW5kZXJCbG9jayogcm9vdEJsb2NrLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJsb2NrWCwgaW50IC8q
YmxvY2tZKi8sIGludCB0eCwgaW50IHR5LCBjb25zdCBQYWludEluZm8qIHBhaW50SW5mbykKK0lu
dFJlY3QgUmVuZGVyQmxvY2s6OmZpbGxMb2dpY2FsTGVmdFNlbGVjdGlvbkdhcChSZW5kZXJPYmpl
Y3QqIHNlbE9iaiwgaW50IHhQb3MsIGludCB5UG9zLCBpbnQgaGVpZ2h0LCBSZW5kZXJCbG9jayog
cm9vdEJsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBibG9ja1gsIGludCAvKmJsb2NrWSovLCBpbnQgdHgsIGludCB0eSwgY29uc3QgUGFp
bnRJbmZvKiBwYWludEluZm8pCiB7CiAgICAgaW50IHRvcCA9IHlQb3MgKyB0eTsKLSAgICBpbnQg
bGVmdCA9IGJsb2NrWCArIG1heChsZWZ0U2VsZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywgeVBvcyks
IGxlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCB5UG9zICsgaGVpZ2h0KSk7Ci0gICAgaW50
IHJpZ2h0ID0gbWluKHhQb3MgKyB0eCwgYmxvY2tYICsgbWluKHJpZ2h0U2VsZWN0aW9uT2Zmc2V0
KHJvb3RCbG9jaywgeVBvcyksIHJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywgeVBvcyAr
IGhlaWdodCkpKTsKKyAgICBpbnQgbGVmdCA9IGJsb2NrWCArIG1heChsb2dpY2FsTGVmdFNlbGVj
dGlvbk9mZnNldChyb290QmxvY2ssIHlQb3MpLCBsb2dpY2FsTGVmdFNlbGVjdGlvbk9mZnNldChy
b290QmxvY2ssIHlQb3MgKyBoZWlnaHQpKTsKKyAgICBpbnQgcmlnaHQgPSBtaW4oeFBvcyArIHR4
LCBibG9ja1ggKyBtaW4obG9naWNhbFJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywgeVBv
cyksIGxvZ2ljYWxSaWdodFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ssIHlQb3MgKyBoZWlnaHQp
KSk7CiAgICAgaW50IHdpZHRoID0gcmlnaHQgLSBsZWZ0OwogICAgIGlmICh3aWR0aCA8PSAwKQog
ICAgICAgICByZXR1cm4gSW50UmVjdCgpOwpAQCAtMjgwNiwxMiArMjgwNiwxMiBAQCBJbnRSZWN0
IFJlbmRlckJsb2NrOjpmaWxsTGVmdFNlbGVjdGlvbkdhCiAgICAgcmV0dXJuIGdhcFJlY3Q7CiB9
CiAKLUludFJlY3QgUmVuZGVyQmxvY2s6OmZpbGxSaWdodFNlbGVjdGlvbkdhcChSZW5kZXJPYmpl
Y3QqIHNlbE9iaiwgaW50IHhQb3MsIGludCB5UG9zLCBpbnQgaGVpZ2h0LCBSZW5kZXJCbG9jayog
cm9vdEJsb2NrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBibG9ja1gsIGludCAvKmJsb2NrWSovLCBpbnQgdHgsIGludCB0eSwgY29uc3QgUGFpbnRJbmZv
KiBwYWludEluZm8pCitJbnRSZWN0IFJlbmRlckJsb2NrOjpmaWxsTG9naWNhbFJpZ2h0U2VsZWN0
aW9uR2FwKFJlbmRlck9iamVjdCogc2VsT2JqLCBpbnQgeFBvcywgaW50IHlQb3MsIGludCBoZWln
aHQsIFJlbmRlckJsb2NrKiByb290QmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBibG9ja1gsIGludCAvKmJsb2NrWSovLCBpbnQgdHgs
IGludCB0eSwgY29uc3QgUGFpbnRJbmZvKiBwYWludEluZm8pCiB7Ci0gICAgaW50IGxlZnQgPSBt
YXgoeFBvcyArIHR4LCBibG9ja1ggKyBtYXgobGVmdFNlbGVjdGlvbk9mZnNldChyb290QmxvY2ss
IHlQb3MpLCBsZWZ0U2VsZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywgeVBvcyArIGhlaWdodCkpKTsK
KyAgICBpbnQgbGVmdCA9IG1heCh4UG9zICsgdHgsIGJsb2NrWCArIG1heChsb2dpY2FsTGVmdFNl
bGVjdGlvbk9mZnNldChyb290QmxvY2ssIHlQb3MpLCBsb2dpY2FsTGVmdFNlbGVjdGlvbk9mZnNl
dChyb290QmxvY2ssIHlQb3MgKyBoZWlnaHQpKSk7CiAgICAgaW50IHRvcCA9IHlQb3MgKyB0eTsK
LSAgICBpbnQgcmlnaHQgPSBibG9ja1ggKyBtaW4ocmlnaHRTZWxlY3Rpb25PZmZzZXQocm9vdEJs
b2NrLCB5UG9zKSwgcmlnaHRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCB5UG9zICsgaGVpZ2h0
KSk7CisgICAgaW50IHJpZ2h0ID0gYmxvY2tYICsgbWluKGxvZ2ljYWxSaWdodFNlbGVjdGlvbk9m
ZnNldChyb290QmxvY2ssIHlQb3MpLCBsb2dpY2FsUmlnaHRTZWxlY3Rpb25PZmZzZXQocm9vdEJs
b2NrLCB5UG9zICsgaGVpZ2h0KSk7CiAgICAgaW50IHdpZHRoID0gcmlnaHQgLSBsZWZ0OwogICAg
IGlmICh3aWR0aCA8PSAwKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwpAQCAtMjgyMiw3ICsy
ODIyLDcgQEAgSW50UmVjdCBSZW5kZXJCbG9jazo6ZmlsbFJpZ2h0U2VsZWN0aW9uRwogICAgIHJl
dHVybiBnYXBSZWN0OwogfQogCi12b2lkIFJlbmRlckJsb2NrOjpnZXRIb3Jpem9udGFsU2VsZWN0
aW9uR2FwSW5mbyhTZWxlY3Rpb25TdGF0ZSBzdGF0ZSwgYm9vbCYgbGVmdEdhcCwgYm9vbCYgcmln
aHRHYXApCit2b2lkIFJlbmRlckJsb2NrOjpnZXRTZWxlY3Rpb25HYXBJbmZvKFNlbGVjdGlvblN0
YXRlIHN0YXRlLCBib29sJiBsZWZ0R2FwLCBib29sJiByaWdodEdhcCkKIHsKICAgICBib29sIGx0
ciA9IHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKICAgICBsZWZ0R2FwID0gKHN0
YXRlID09IFJlbmRlck9iamVjdDo6U2VsZWN0aW9uSW5zaWRlKSB8fApAQCAtMjgzMywxMyArMjgz
MywxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpnZXRIb3Jpem9udGFsU2VsZWN0aW9uCiAgICAgICAg
ICAgICAgICAoc3RhdGUgPT0gUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25FbmQgJiYgIWx0cik7CiB9
CiAKLWludCBSZW5kZXJCbG9jazo6bGVmdFNlbGVjdGlvbk9mZnNldChSZW5kZXJCbG9jayogcm9v
dEJsb2NrLCBpbnQgeVBvcykKK2ludCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRTZWxlY3Rpb25P
ZmZzZXQoUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywgaW50IHlQb3MpCiB7CiAgICAgaW50IGxlZnQg
PSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoeVBvcywgZmFsc2UpOwogICAgIGlmIChsZWZ0ID09
IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkpIHsKICAgICAgICAgaWYgKHJvb3RCbG9jayAh
PSB0aGlzKQogICAgICAgICAgICAgLy8gVGhlIGJvcmRlciBjYW4gcG90ZW50aWFsbHkgYmUgZnVy
dGhlciBleHRlbmRlZCBieSBvdXIgY29udGFpbmluZ0Jsb2NrKCkuCi0gICAgICAgICAgICByZXR1
cm4gY29udGFpbmluZ0Jsb2NrKCktPmxlZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCB5UG9z
ICsgeSgpKTsKKyAgICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2soKS0+bG9naWNhbExl
ZnRTZWxlY3Rpb25PZmZzZXQocm9vdEJsb2NrLCB5UG9zICsgeSgpKTsKICAgICAgICAgcmV0dXJu
IGxlZnQ7CiAgICAgfQogICAgIGVsc2UgewpAQCAtMjg1MywxMyArMjg1MywxMyBAQCBpbnQgUmVu
ZGVyQmxvY2s6OmxlZnRTZWxlY3Rpb25PZmZzZXQoUmVuCiAgICAgcmV0dXJuIGxlZnQ7CiB9CiAK
LWludCBSZW5kZXJCbG9jazo6cmlnaHRTZWxlY3Rpb25PZmZzZXQoUmVuZGVyQmxvY2sqIHJvb3RC
bG9jaywgaW50IHlQb3MpCitpbnQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxSaWdodFNlbGVjdGlvbk9m
ZnNldChSZW5kZXJCbG9jayogcm9vdEJsb2NrLCBpbnQgeVBvcykKIHsKICAgICBpbnQgcmlnaHQg
PSBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHlQb3MsIGZhbHNlKTsKICAgICBpZiAocmlnaHQg
PT0gKGNvbnRlbnRXaWR0aCgpICsgKGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkpKSkgewog
ICAgICAgICBpZiAocm9vdEJsb2NrICE9IHRoaXMpCiAgICAgICAgICAgICAvLyBUaGUgYm9yZGVy
IGNhbiBwb3RlbnRpYWxseSBiZSBmdXJ0aGVyIGV4dGVuZGVkIGJ5IG91ciBjb250YWluaW5nQmxv
Y2soKS4KLSAgICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2soKS0+cmlnaHRTZWxlY3Rp
b25PZmZzZXQocm9vdEJsb2NrLCB5UG9zICsgeSgpKTsKKyAgICAgICAgICAgIHJldHVybiBjb250
YWluaW5nQmxvY2soKS0+bG9naWNhbFJpZ2h0U2VsZWN0aW9uT2Zmc2V0KHJvb3RCbG9jaywgeVBv
cyArIHkoKSk7CiAgICAgICAgIHJldHVybiByaWdodDsKICAgICB9CiAgICAgZWxzZSB7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDcxMDMzKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDEzICsxMTUsMTMgQEAg
cHVibGljOgogICAgIGJvb2wgY29udGFpbnNOb25aZXJvQmlkaUxldmVsKCkgY29uc3Q7CiAKICAg
ICBHYXBSZWN0cyBzZWxlY3Rpb25HYXBSZWN0c0ZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIHJlcGFpbnRDb250YWluZXIpOwotICAgIEludFJlY3QgZmlsbExlZnRTZWxlY3Rpb25HYXAo
UmVuZGVyT2JqZWN0KiBzZWxPYmosIGludCB4UG9zLCBpbnQgeVBvcywgaW50IGhlaWdodCwgUmVu
ZGVyQmxvY2sqIHJvb3RCbG9jaywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgYmxvY2tYLCBpbnQgYmxvY2tZLCBpbnQgdHgsIGludCB0eSwgY29uc3QgUGFpbnRJbmZvKik7
Ci0gICAgSW50UmVjdCBmaWxsUmlnaHRTZWxlY3Rpb25HYXAoUmVuZGVyT2JqZWN0KiBzZWxPYmos
IGludCB4UG9zLCBpbnQgeVBvcywgaW50IGhlaWdodCwgUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmxvY2tYLCBpbnQgYmxvY2tZ
LCBpbnQgdHgsIGludCB0eSwgY29uc3QgUGFpbnRJbmZvKik7Ci0gICAgSW50UmVjdCBmaWxsSG9y
aXpvbnRhbFNlbGVjdGlvbkdhcChSZW5kZXJPYmplY3QqIHNlbE9iaiwgaW50IHhQb3MsIGludCB5
UG9zLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0IFBhaW50SW5mbyopOworICAgIEludFJl
Y3QgZmlsbExvZ2ljYWxMZWZ0U2VsZWN0aW9uR2FwKFJlbmRlck9iamVjdCogc2VsT2JqLCBpbnQg
eFBvcywgaW50IHlQb3MsIGludCBoZWlnaHQsIFJlbmRlckJsb2NrKiByb290QmxvY2ssIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBibG9ja1gsIGludCBibG9j
a1ksIGludCB0eCwgaW50IHR5LCBjb25zdCBQYWludEluZm8qKTsKKyAgICBJbnRSZWN0IGZpbGxM
b2dpY2FsUmlnaHRTZWxlY3Rpb25HYXAoUmVuZGVyT2JqZWN0KiBzZWxPYmosIGludCB4UG9zLCBp
bnQgeVBvcywgaW50IGhlaWdodCwgUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJsb2NrWCwgaW50IGJsb2NrWSwgaW50
IHR4LCBpbnQgdHksIGNvbnN0IFBhaW50SW5mbyopOworICAgIEludFJlY3QgZmlsbExpbmVTZWxl
Y3Rpb25HYXAoUmVuZGVyT2JqZWN0KiBzZWxPYmosIGludCB4UG9zLCBpbnQgeVBvcywgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0LCBjb25zdCBQYWludEluZm8qKTsKIAotICAgIHZvaWQgZ2V0SG9yaXpv
bnRhbFNlbGVjdGlvbkdhcEluZm8oU2VsZWN0aW9uU3RhdGUsIGJvb2wmIGxlZnRHYXAsIGJvb2wm
IHJpZ2h0R2FwKTsKKyAgICB2b2lkIGdldFNlbGVjdGlvbkdhcEluZm8oU2VsZWN0aW9uU3RhdGUs
IGJvb2wmIGxlZnRHYXAsIGJvb2wmIHJpZ2h0R2FwKTsKIAogICAgIC8vIEhlbHBlciBtZXRob2Rz
IGZvciBjb21wdXRpbmcgbGluZSBjb3VudHMgYW5kIGhlaWdodHMgZm9yIGxpbmUgY291bnRzLgog
ICAgIFJvb3RJbmxpbmVCb3gqIGxpbmVBdEluZGV4KGludCk7CkBAIC01MzcsMTAgKzUzNywxMCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbGFz
dFRvcCwgaW50JiBsYXN0TGVmdCwgaW50JiBsYXN0UmlnaHQsIGNvbnN0IFBhaW50SW5mbyopOwog
ICAgIEdhcFJlY3RzIGZpbGxCbG9ja1NlbGVjdGlvbkdhcHMoUmVuZGVyQmxvY2sqIHJvb3RCbG9j
aywgaW50IGJsb2NrWCwgaW50IGJsb2NrWSwgaW50IHR4LCBpbnQgdHksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGxhc3RUb3AsIGludCYgbGFzdExlZnQsIGludCYg
bGFzdFJpZ2h0LCBjb25zdCBQYWludEluZm8qKTsKLSAgICBJbnRSZWN0IGZpbGxWZXJ0aWNhbFNl
bGVjdGlvbkdhcChpbnQgbGFzdFRvcCwgaW50IGxhc3RMZWZ0LCBpbnQgbGFzdFJpZ2h0LCBpbnQg
Ym90dG9tWSwgUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgYmxvY2tYLCBpbnQgYmxvY2tZLCBjb25zdCBQYWludEluZm8qKTsK
LSAgICBpbnQgbGVmdFNlbGVjdGlvbk9mZnNldChSZW5kZXJCbG9jayogcm9vdEJsb2NrLCBpbnQg
eSk7Ci0gICAgaW50IHJpZ2h0U2VsZWN0aW9uT2Zmc2V0KFJlbmRlckJsb2NrKiByb290QmxvY2ss
IGludCB5KTsKKyAgICBJbnRSZWN0IGZpbGxCbG9ja1NlbGVjdGlvbkdhcChpbnQgbGFzdFRvcCwg
aW50IGxhc3RMZWZ0LCBpbnQgbGFzdFJpZ2h0LCBpbnQgYm90dG9tWSwgUmVuZGVyQmxvY2sqIHJv
b3RCbG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmxvY2tYLCBp
bnQgYmxvY2tZLCBjb25zdCBQYWludEluZm8qKTsKKyAgICBpbnQgbG9naWNhbExlZnRTZWxlY3Rp
b25PZmZzZXQoUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywgaW50IHkpOworICAgIGludCBsb2dpY2Fs
UmlnaHRTZWxlY3Rpb25PZmZzZXQoUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywgaW50IHkpOwogCiAg
ICAgdmlydHVhbCB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgaW50IHR4LCBp
bnQgdHkpOwogICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+
Jik7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkocmV2aXNpb24gNzEwNTUp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQ5LDI2ICsyNDksMjUgQEAgaW50IFJvb3RJbmxpbmVCb3g6OmFsaWduQm94ZXNJbkJsb2Nr
RGlyZQogICAgIHJldHVybiBoZWlnaHRPZkJsb2NrICsgbWF4SGVpZ2h0OwogfQogCi1HYXBSZWN0
cyBSb290SW5saW5lQm94OjpmaWxsTGluZVNlbGVjdGlvbkdhcChpbnQgc2VsVG9wLCBpbnQgc2Vs
SGVpZ2h0LCBSZW5kZXJCbG9jayogcm9vdEJsb2NrLCBpbnQgYmxvY2tYLCBpbnQgYmxvY2tZLCBp
bnQgdHgsIGludCB0eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFBhaW50SW5mbyogcGFpbnRJbmZvKQorR2FwUmVjdHMgUm9vdElubGluZUJveDo6
ZmlsbExpbmVTZWxlY3Rpb25HYXAoaW50IHNlbFRvcCwgaW50IHNlbEhlaWdodCwgUmVuZGVyQmxv
Y2sqIHJvb3RCbG9jaywgaW50IGJsb2NrWCwgaW50IGJsb2NrWSwgaW50IHR4LCBpbnQgdHksIGNv
bnN0IFBhaW50SW5mbyogcGFpbnRJbmZvKQogewogICAgIFJlbmRlck9iamVjdDo6U2VsZWN0aW9u
U3RhdGUgbGluZVN0YXRlID0gc2VsZWN0aW9uU3RhdGUoKTsKIAogICAgIGJvb2wgbGVmdEdhcCwg
cmlnaHRHYXA7Ci0gICAgYmxvY2soKS0+Z2V0SG9yaXpvbnRhbFNlbGVjdGlvbkdhcEluZm8obGlu
ZVN0YXRlLCBsZWZ0R2FwLCByaWdodEdhcCk7CisgICAgYmxvY2soKS0+Z2V0U2VsZWN0aW9uR2Fw
SW5mbyhsaW5lU3RhdGUsIGxlZnRHYXAsIHJpZ2h0R2FwKTsKIAogICAgIEdhcFJlY3RzIHJlc3Vs
dDsKIAogICAgIElubGluZUJveCogZmlyc3RCb3ggPSBmaXJzdFNlbGVjdGVkQm94KCk7CiAgICAg
SW5saW5lQm94KiBsYXN0Qm94ID0gbGFzdFNlbGVjdGVkQm94KCk7CiAgICAgaWYgKGxlZnRHYXAp
Ci0gICAgICAgIHJlc3VsdC51bml0ZUxlZnQoYmxvY2soKS0+ZmlsbExlZnRTZWxlY3Rpb25HYXAo
Zmlyc3RCb3gtPnBhcmVudCgpLT5yZW5kZXJlcigpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0Qm94LT54KCksIHNlbFRvcCwgc2Vs
SGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJvb3RCbG9jaywgYmxvY2tYLCBibG9ja1ksIHR4LCB0eSwgcGFpbnRJbmZvKSk7Cisg
ICAgICAgIHJlc3VsdC51bml0ZUxlZnQoYmxvY2soKS0+ZmlsbExvZ2ljYWxMZWZ0U2VsZWN0aW9u
R2FwKGZpcnN0Qm94LT5wYXJlbnQoKS0+cmVuZGVyZXIoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RCb3gtPngoKSwg
c2VsVG9wLCBzZWxIZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RCbG9jaywgYmxvY2tYLCBibG9ja1ksIHR4LCB0
eSwgcGFpbnRJbmZvKSk7CiAgICAgaWYgKHJpZ2h0R2FwKQotICAgICAgICByZXN1bHQudW5pdGVS
aWdodChibG9jaygpLT5maWxsUmlnaHRTZWxlY3Rpb25HYXAobGFzdEJveC0+cGFyZW50KCktPnJl
bmRlcmVyKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsYXN0Qm94LT54KCkgKyBsYXN0Qm94LT5sb2dpY2FsV2lkdGgoKSwgc2VsVG9w
LCBzZWxIZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByb290QmxvY2ssIGJsb2NrWCwgYmxvY2tZLCB0eCwgdHksIHBhaW50SW5m
bykpOworICAgICAgICByZXN1bHQudW5pdGVSaWdodChibG9jaygpLT5maWxsTG9naWNhbFJpZ2h0
U2VsZWN0aW9uR2FwKGxhc3RCb3gtPnBhcmVudCgpLT5yZW5kZXJlcigpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RC
b3gtPngoKSArIGxhc3RCb3gtPmxvZ2ljYWxXaWR0aCgpLCBzZWxUb3AsIHNlbEhlaWdodCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByb290QmxvY2ssIGJsb2NrWCwgYmxvY2tZLCB0eCwgdHksIHBhaW50SW5mbykpOwogCiAg
ICAgLy8gV2hlbiBkZWFsaW5nIHdpdGggYmlkaSB0ZXh0LCBhIG5vbi1jb250aWd1b3VzIHNlbGVj
dGlvbiByZWdpb24gaXMgcG9zc2libGUuCiAgICAgLy8gZS5nLiBUaGUgbG9naWNhbCB0ZXh0IGFh
YUFBQWJiYiAoY2FwaXRhbHMgZGVub3RlIFJUTCB0ZXh0IGFuZCBub24tY2FwaXRhbHMgTFRSKSBp
cyBsYXllZCBvdXQKQEAgLTI4NCw5ICsyODMsOSBAQCBHYXBSZWN0cyBSb290SW5saW5lQm94Ojpm
aWxsTGluZVNlbGVjdGlvCiAgICAgICAgIGZvciAoSW5saW5lQm94KiBib3ggPSBmaXJzdEJveC0+
bmV4dExlYWZDaGlsZCgpOyBib3g7IGJveCA9IGJveC0+bmV4dExlYWZDaGlsZCgpKSB7CiAgICAg
ICAgICAgICBpZiAoYm94LT5zZWxlY3Rpb25TdGF0ZSgpICE9IFJlbmRlck9iamVjdDo6U2VsZWN0
aW9uTm9uZSkgewogICAgICAgICAgICAgICAgIGlmIChpc1ByZXZpb3VzQm94U2VsZWN0ZWQpICAv
LyBWaXNpYmxlU2VsZWN0aW9uIG1heSBiZSBub24tY29udGlndW91cywgc2VlIGNvbW1lbnQgYWJv
dmUuCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC51bml0ZUNlbnRlcihibG9jaygpLT5maWxs
SG9yaXpvbnRhbFNlbGVjdGlvbkdhcChib3gtPnBhcmVudCgpLT5yZW5kZXJlcigpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGFzdFggKyB0eCwgc2VsVG9wICsgdHksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b3gtPngoKSAtIGxhc3RYLCBzZWxIZWlnaHQsIHBhaW50SW5mbykpOworICAgICAgICAgICAgICAg
ICAgICByZXN1bHQudW5pdGVDZW50ZXIoYmxvY2soKS0+ZmlsbExpbmVTZWxlY3Rpb25HYXAoYm94
LT5wYXJlbnQoKS0+cmVuZGVyZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RYICsgdHgsIHNlbFRvcCAr
IHR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm94LT54KCkgLSBsYXN0WCwgc2VsSGVpZ2h0LCBwYWludEluZm8p
KTsKICAgICAgICAgICAgICAgICBsYXN0WCA9IGJveC0+eCgpICsgYm94LT5sb2dpY2FsV2lkdGgo
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChib3ggPT0gbGFzdEJveCkK
</data>
<flag name="review"
          id="63164"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>