<?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>76205</bug_id>
          
          <creation_ts>2012-01-12 13:17:19 -0800</creation_ts>
          <short_desc>Move wheel event handling to ScrollElasticityController::handleWheelEvent</short_desc>
          <delta_ts>2012-01-12 13:28:58 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>535101</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-12 13:17:19 -0800</bug_when>
    <thetext>Move wheel event handling to ScrollElasticityController::handleWheelEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535102</commentid>
    <comment_count>1</comment_count>
      <attachid>122295</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-12 13:21:19 -0800</bug_when>
    <thetext>Created attachment 122295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535106</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-01-12 13:28:58 -0800</bug_when>
    <thetext>Committed r104853: &lt;http://trac.webkit.org/changeset/104853&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122295</attachid>
            <date>2012-01-12 13:21:19 -0800</date>
            <delta_ts>2012-01-12 13:26:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76205-20120112132117.patch</filename>
            <type>text/plain</type>
            <size>22240</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMwYzM4ZWJkNTQ4NTBj
YjNmMTJjZThjZThhYWRkYzU5NDgzMmY5My4uN2Y4Mzk4MDI4YjVkZDk3NTIzOGRkNTE2YWE3M2Rj
OWRhMGRkMjdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEyLTAxLTEyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSB3aGVlbCBl
dmVudCBoYW5kbGluZyB0byBTY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlcjo6aGFuZGxlV2hlZWxF
dmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYy
MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
IHRoZSBjb2RlIGluIFNjcm9sbEFuaW1hdG9yTWFjOjpzbW9vdGhTY3JvbGxXaXRoRXZlbnQgdG8g
U2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQgYW5kCisgICAgICAg
IGNoYW5nZSBTY3JvbGxBbmltYXRvck1hYzo6aGFuZGxlV2hlZWxFdmVudCB0byBqdXN0IGNhbGwg
U2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQuCisgICAgICAgIFRo
aXMgbWVhbnMgdGhhdCB3ZSdsbCBub3Qgc2V0IG1faGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZCA9
IHRydWUgYW55bW9yZSAod2UgdXNlZCB0byBzZXQgaXQgaW4gU2Nyb2xsQW5pbWF0b3JNYWM6OnNt
b290aFNjcm9sbFdpdGhFdmVudCksCisgICAgICAgIGJ1dCB3ZSBhbHJlYWR5IHNldCBpdCB0byB0
cnVlIGluIFNjcm9sbEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50IHNvIGl0IGFscmVhZHkg
aGFkIG5vIGVmZmVjdC4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubW06CisgICAgICAgIChX
ZWJDb3JlOjplbGFzdGljRGVsdGFGb3JSZWJvdW5kRGVsdGEpOgorICAgICAgICAoV2ViQ29yZTo6
c2Nyb2xsV2hlZWxNdWx0aXBsaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEVsYXN0aWNp
dHlDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KToKKworMjAxMi0wMS0xMiAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIE1ha2UgYWxsIGNhbGxzIHRv
IHBpbm5lZEluRGlyZWN0aW9uIGdvIHRocm91Z2ggdGhlIFNjcm9sbEVsYXN0aWNpdHlDb250cm9s
bGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIw
NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0
b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5o
CmluZGV4IGEwMTUzNGJhMzNhMDk5OWU5OTBmNGU1MmY3ZGFiMWU1ZDg5NDU0ZmEuLmNjZDM1NDg3
OTc1MTZjYWQwM2ViNmRkNjVjYWU5MjMzMjcwNDMxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCkBAIC0xNDAsNyArMTQwLDYgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgcGlubmVkSW5EaXJlY3Rpb24oZmxvYXQgZGVsdGFYLCBmbG9hdCBk
ZWx0YVkpOwogICAgIHZvaWQgc25hcFJ1YmJlckJhbmRUaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFu
aW1hdG9yTWFjPiopOwotICAgIGJvb2wgc21vb3RoU2Nyb2xsV2l0aEV2ZW50KGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYpOwogICAgIHZvaWQgYmVnaW5TY3JvbGxHZXN0dXJlKCk7CiAgICAgdm9p
ZCBlbmRTY3JvbGxHZXN0dXJlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBkNDE2MTRiMWExYjkzNzJiMTZiNjdmYjNjOTNl
ZTYxMGU3YjA2MGEzLi4wMzMxNmVkMWRkOTkyZDNmMDZmZTdkNWUzOThlMjc2MmNhZWIxMjViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1t
CkBAIC04NzcsMzAgKzg3Nyw2IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmNhbmNlbEFuaW1h
dGlvbnMoKQogCiAjaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogCi1zdGF0aWMgY29uc3QgZmxv
YXQgc2Nyb2xsVmVsb2NpdHlaZXJvaW5nVGltZW91dCA9IDAuMTBmOwotc3RhdGljIGNvbnN0IGZs
b2F0IHJ1YmJlcmJhbmRTdGlmZm5lc3MgPSAyMDsKLXN0YXRpYyBjb25zdCBmbG9hdCBydWJiZXJi
YW5kRGlyZWN0aW9uTG9ja1N0cmV0Y2hSYXRpbyA9IDE7Ci1zdGF0aWMgY29uc3QgZmxvYXQgcnVi
YmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCA9IDEwOwotc3RhdGljIGNv
bnN0IGZsb2F0IHJ1YmJlcmJhbmRBbXBsaXR1ZGUgPSAwLjMxZjsKLXN0YXRpYyBjb25zdCBmbG9h
dCBydWJiZXJiYW5kUGVyaW9kID0gMS42ZjsKLQotc3RhdGljIGZsb2F0IGVsYXN0aWNEZWx0YUZv
clJlYm91bmREZWx0YShmbG9hdCBkZWx0YSkKLXsKLSAgICBmbG9hdCBzdGlmZm5lc3MgPSBzdGQ6
Om1heChydWJiZXJiYW5kU3RpZmZuZXNzLCAxLjBmKTsKLSAgICByZXR1cm4gZGVsdGEgLyBzdGlm
Zm5lc3M7Ci19Ci0KLXN0YXRpYyBmbG9hdCBzY3JvbGxXaGVlbE11bHRpcGxpZXIoKQotewotICAg
IHN0YXRpYyBmbG9hdCBtdWx0aXBsaWVyID0gLTE7Ci0gICAgaWYgKG11bHRpcGxpZXIgPCAwKSB7
Ci0gICAgICAgIG11bHRpcGxpZXIgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBmbG9hdEZvcktleTpAIk5TU2Nyb2xsV2hlZWxNdWx0aXBsaWVyIl07Ci0gICAgICAgIGlm
IChtdWx0aXBsaWVyIDw9IDApCi0gICAgICAgICAgICBtdWx0aXBsaWVyID0gMTsKLSAgICB9Ci0g
ICAgcmV0dXJuIG11bHRpcGxpZXI7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1Njcm9sbGlu
Z0xlZnRBbmRTaG91bGROb3RSdWJiZXJCYW5kKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hl
ZWxFdmVudCwgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKQogewogICAgIHJldHVybiB3
aGVlbEV2ZW50LmRlbHRhWCgpID4gMCAmJiAhc2Nyb2xsYWJsZUFyZWEtPnNob3VsZFJ1YmJlckJh
bmRJbkRpcmVjdGlvbihTY3JvbGxMZWZ0KTsKQEAgLTk1OCw3ICs5MzQsNyBAQCBib29sIFNjcm9s
bEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYg
d2hlZWxFdmVudCkKICAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiBzbW9vdGhTY3JvbGxX
aXRoRXZlbnQod2hlZWxFdmVudCk7CisgICAgcmV0dXJuIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRy
b2xsZXIuaGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKIH0KIAogdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBn
ZXN0dXJlRXZlbnQpCkBAIC0xMDkyLDE1OSArMTA2OCw2IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6OnN0b3BTbmFwUnViYmVyYmFuZFRpbWVyKCkKICAgICBtX3NuYXBSdWJiZXJCYW5kVGltZXIu
c3RvcCgpOwogfQogCi1ib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzbW9vdGhTY3JvbGxXaXRoRXZl
bnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQotewotICAgIGJvb2wgaXNN
b21lbnR1bVNjcm9sbEV2ZW50ID0gKHdoZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpICE9IFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlTm9uZSk7Ci0gICAgaWYgKG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRy
b2xsZXIubV9pZ25vcmVNb21lbnR1bVNjcm9sbHMgJiYgKGlzTW9tZW50dW1TY3JvbGxFdmVudCB8
fCBtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fc25hcFJ1YmJlcmJhbmRUaW1lcklzQWN0
aXZlKSkgewotICAgICAgICBpZiAod2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkgPT0gUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VFbmRlZCkgewotICAgICAgICAgICAgbV9zY3JvbGxFbGFzdGljaXR5
Q29udHJvbGxlci5tX2lnbm9yZU1vbWVudHVtU2Nyb2xscyA9IGZhbHNlOwotICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQot
ICAgIG1faGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZCA9IHRydWU7Ci0KLSAgICBmbG9hdCBkZWx0
YVggPSBtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fb3ZlcmZsb3dTY3JvbGxEZWx0YS53
aWR0aCgpOwotICAgIGZsb2F0IGRlbHRhWSA9IG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIu
bV9vdmVyZmxvd1Njcm9sbERlbHRhLmhlaWdodCgpOwotCi0gICAgLy8gUmVzZXQgb3ZlcmZsb3cg
dmFsdWVzIGJlY2F1c2Ugd2UgbWF5IGRlY2lkZSB0byByZW1vdmUgZGVsdGEgYXQgdmFyaW91cyBw
b2ludHMgYW5kIHB1dCBpdCBpbnRvIG92ZXJmbG93LgotICAgIG1fc2Nyb2xsRWxhc3RpY2l0eUNv
bnRyb2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhID0gRmxvYXRTaXplKCk7Ci0KLSAgICBmbG9h
dCBldmVudENvYWxlc2NlZERlbHRhWCA9IC13aGVlbEV2ZW50LmRlbHRhWCgpOwotICAgIGZsb2F0
IGV2ZW50Q29hbGVzY2VkRGVsdGFZID0gLXdoZWVsRXZlbnQuZGVsdGFZKCk7Ci0KLSAgICBkZWx0
YVggKz0gZXZlbnRDb2FsZXNjZWREZWx0YVg7Ci0gICAgZGVsdGFZICs9IGV2ZW50Q29hbGVzY2Vk
RGVsdGFZOwotCi0gICAgLy8gU2xpZ2h0bHkgcHJlZmVyIHNjcm9sbGluZyB2ZXJ0aWNhbGx5IGJ5
IGFwcGx5aW5nIHRoZSA9IGNhc2UgdG8gZGVsdGFZCi0gICAgaWYgKGZhYnNmKGRlbHRhWSkgPj0g
ZmFic2YoZGVsdGFYKSkKLSAgICAgICAgZGVsdGFYID0gMDsKLSAgICBlbHNlCi0gICAgICAgIGRl
bHRhWSA9IDA7Ci0KLSAgICBib29sIGlzVmVydGljYWxseVN0cmV0Y2hlZCA9IGZhbHNlOwotICAg
IGJvb2wgaXNIb3Jpem9udGFsbHlTdHJldGNoZWQgPSBmYWxzZTsKLSAgICBib29sIHNob3VsZFN0
cmV0Y2ggPSBmYWxzZTsKLSAgICAKLSAgICBJbnRTaXplIHN0cmV0Y2hBbW91bnQgPSBtX3Njcm9s
bEVsYXN0aWNpdHlDb250cm9sbGVyLm1fY2xpZW50LT5zdHJldGNoQW1vdW50KCk7Ci0KLSAgICBp
c0hvcml6b250YWxseVN0cmV0Y2hlZCA9IHN0cmV0Y2hBbW91bnQud2lkdGgoKTsKLSAgICBpc1Zl
cnRpY2FsbHlTdHJldGNoZWQgPSBzdHJldGNoQW1vdW50LmhlaWdodCgpOwotCi0gICAgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2UgcGhhc2UgPSB3aGVlbEV2ZW50Lm1vbWVudHVtUGhhc2UoKTsKLQot
ICAgIC8vIElmIHdlIGFyZSBzdGFydGluZyBtb21lbnR1bSBzY3JvbGxpbmcgdGhlbiBkbyBzb21l
IHNldHVwLgotICAgIGlmICghbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX21vbWVudHVt
U2Nyb2xsSW5Qcm9ncmVzcyAmJiAocGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdh
biB8fCBwaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNoYW5nZWQpKQotICAgICAgICBt
X3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzID0g
dHJ1ZTsKLQotICAgIENGVGltZUludGVydmFsIHRpbWVEZWx0YSA9IHdoZWVsRXZlbnQudGltZXN0
YW1wKCkgLSBtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fbGFzdE1vbWVudHVtU2Nyb2xs
VGltZXN0YW1wOwotICAgIGlmIChtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1faW5TY3Jv
bGxHZXN0dXJlIHx8IG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9tb21lbnR1bVNjcm9s
bEluUHJvZ3Jlc3MpIHsKLSAgICAgICAgaWYgKG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIu
bV9sYXN0TW9tZW50dW1TY3JvbGxUaW1lc3RhbXAgJiYgdGltZURlbHRhID4gMCAmJiB0aW1lRGVs
dGEgPCBzY3JvbGxWZWxvY2l0eVplcm9pbmdUaW1lb3V0KSB7Ci0gICAgICAgICAgICBtX3Njcm9s
bEVsYXN0aWNpdHlDb250cm9sbGVyLm1fbW9tZW50dW1WZWxvY2l0eS5zZXRXaWR0aChldmVudENv
YWxlc2NlZERlbHRhWCAvIChmbG9hdCl0aW1lRGVsdGEpOwotICAgICAgICAgICAgbV9zY3JvbGxF
bGFzdGljaXR5Q29udHJvbGxlci5tX21vbWVudHVtVmVsb2NpdHkuc2V0SGVpZ2h0KGV2ZW50Q29h
bGVzY2VkRGVsdGFZIC8gKGZsb2F0KXRpbWVEZWx0YSk7Ci0gICAgICAgICAgICBtX3Njcm9sbEVs
YXN0aWNpdHlDb250cm9sbGVyLm1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0YW1wID0gd2hlZWxF
dmVudC50aW1lc3RhbXAoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1fc2Nyb2xs
RWxhc3RpY2l0eUNvbnRyb2xsZXIubV9sYXN0TW9tZW50dW1TY3JvbGxUaW1lc3RhbXAgPSB3aGVl
bEV2ZW50LnRpbWVzdGFtcCgpOwotICAgICAgICAgICAgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJv
bGxlci5tX21vbWVudHVtVmVsb2NpdHkgPSBGbG9hdFNpemUoKTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlmIChpc1ZlcnRpY2FsbHlTdHJldGNoZWQpIHsKLSAgICAgICAgICAgIGlmICghaXNIb3Jp
em9udGFsbHlTdHJldGNoZWQgJiYgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX2NsaWVu
dC0+cGlubmVkSW5EaXJlY3Rpb24oRmxvYXRTaXplKGRlbHRhWCwgMCkpKSB7Ci0gICAgICAgICAg
ICAgICAgLy8gU3RyZXRjaGluZyBvbmx5IGluIHRoZSB2ZXJ0aWNhbC4KLSAgICAgICAgICAgICAg
ICBpZiAoZGVsdGFZICE9IDAgJiYgKGZhYnNmKGRlbHRhWCAvIGRlbHRhWSkgPCBydWJiZXJiYW5k
RGlyZWN0aW9uTG9ja1N0cmV0Y2hSYXRpbykpCi0gICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9
IDA7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZmFic2YoZGVsdGFYKSA8IHJ1YmJlcmJhbmRN
aW5pbXVtUmVxdWlyZWREZWx0YUJlZm9yZVN0cmV0Y2gpIHsKLSAgICAgICAgICAgICAgICAgICAg
bV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX292ZXJmbG93U2Nyb2xsRGVsdGEuc2V0V2lk
dGgobV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX292ZXJmbG93U2Nyb2xsRGVsdGEud2lk
dGgoKSArIGRlbHRhWCk7Ci0gICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IDA7Ci0gICAgICAg
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIG1fc2Nyb2xsRWxhc3RpY2l0eUNv
bnRyb2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhLnNldFdpZHRoKG1fc2Nyb2xsRWxhc3RpY2l0
eUNvbnRyb2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhLndpZHRoKCkgKyBkZWx0YVgpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGlzSG9yaXpvbnRhbGx5U3RyZXRjaGVkKSB7
Ci0gICAgICAgICAgICAvLyBTdHJldGNoaW5nIG9ubHkgaW4gdGhlIGhvcml6b250YWwuCi0gICAg
ICAgICAgICBpZiAobV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX2NsaWVudC0+cGlubmVk
SW5EaXJlY3Rpb24oRmxvYXRTaXplKDAsIGRlbHRhWSkpKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGRlbHRhWCAhPSAwICYmIChmYWJzZihkZWx0YVkgLyBkZWx0YVgpIDwgcnViYmVyYmFuZERpcmVj
dGlvbkxvY2tTdHJldGNoUmF0aW8pKQotICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAwOwot
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZhYnNmKGRlbHRhWSkgPCBydWJiZXJiYW5kTWluaW11
bVJlcXVpcmVkRGVsdGFCZWZvcmVTdHJldGNoKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fc2Ny
b2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhLnNldEhlaWdodCht
X3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fb3ZlcmZsb3dTY3JvbGxEZWx0YS5oZWlnaHQo
KSArIGRlbHRhWSk7Ci0gICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IDA7Ci0gICAgICAgICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRy
b2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhLnNldEhlaWdodChtX3Njcm9sbEVsYXN0aWNpdHlD
b250cm9sbGVyLm1fb3ZlcmZsb3dTY3JvbGxEZWx0YS5oZWlnaHQoKSArIGRlbHRhWSk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3Qgc3RyZXRjaGlu
ZyBhdCBhbGwgeWV0LgotICAgICAgICAgICAgaWYgKG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xs
ZXIubV9jbGllbnQtPnBpbm5lZEluRGlyZWN0aW9uKEZsb2F0U2l6ZShkZWx0YVgsIGRlbHRhWSkp
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZhYnNmKGRlbHRhWSkgPj0gZmFic2YoZGVsdGFYKSkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAoZmFic2YoZGVsdGFYKSA8IHJ1YmJlcmJhbmRNaW5p
bXVtUmVxdWlyZWREZWx0YUJlZm9yZVN0cmV0Y2gpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhLnNldFdp
ZHRoKG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9vdmVyZmxvd1Njcm9sbERlbHRhLndp
ZHRoKCkgKyBkZWx0YVgpOwotICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gMDsKLSAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBtX3Njcm9s
bEVsYXN0aWNpdHlDb250cm9sbGVyLm1fb3ZlcmZsb3dTY3JvbGxEZWx0YS5zZXRXaWR0aChtX3Nj
cm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fb3ZlcmZsb3dTY3JvbGxEZWx0YS53aWR0aCgpICsg
ZGVsdGFYKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc2hvdWxkU3RyZXRj
aCA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZGVs
dGFYICE9IDAgfHwgZGVsdGFZICE9IDApIHsKLSAgICAgICAgaWYgKCEoc2hvdWxkU3RyZXRjaCB8
fCBpc1ZlcnRpY2FsbHlTdHJldGNoZWQgfHwgaXNIb3Jpem9udGFsbHlTdHJldGNoZWQpKSB7Ci0g
ICAgICAgICAgICBpZiAoZGVsdGFZICE9IDApIHsKLSAgICAgICAgICAgICAgICBkZWx0YVkgKj0g
c2Nyb2xsV2hlZWxNdWx0aXBsaWVyKCk7Ci0gICAgICAgICAgICAgICAgbV9zY3JvbGxFbGFzdGlj
aXR5Q29udHJvbGxlci5tX2NsaWVudC0+aW1tZWRpYXRlU2Nyb2xsQnkoRmxvYXRTaXplKDAsIGRl
bHRhWSkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGRlbHRhWCAhPSAwKSB7Ci0g
ICAgICAgICAgICAgICAgZGVsdGFYICo9IHNjcm9sbFdoZWVsTXVsdGlwbGllcigpOwotICAgICAg
ICAgICAgICAgIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9jbGllbnQtPmltbWVkaWF0
ZVNjcm9sbEJ5KEZsb2F0U2l6ZShkZWx0YVgsIDApKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIGlmICghbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5t
X2NsaWVudC0+YWxsb3dzSG9yaXpvbnRhbFN0cmV0Y2hpbmcoKSkgewotICAgICAgICAgICAgICAg
IGRlbHRhWCA9IDA7Ci0gICAgICAgICAgICAgICAgZXZlbnRDb2FsZXNjZWREZWx0YVggPSAwOwot
ICAgICAgICAgICAgfSBlbHNlIGlmICgoZGVsdGFYICE9IDApICYmICFpc0hvcml6b250YWxseVN0
cmV0Y2hlZCAmJiAhcGlubmVkSW5EaXJlY3Rpb24oZGVsdGFYLCAwKSkgewotICAgICAgICAgICAg
ICAgIGRlbHRhWCAqPSBzY3JvbGxXaGVlbE11bHRpcGxpZXIoKTsKLQotICAgICAgICAgICAgICAg
IG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9jbGllbnQtPmltbWVkaWF0ZVNjcm9sbEJ5
V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoRmxvYXRTaXplKGRlbHRhWCwgMCkpOwotICAg
ICAgICAgICAgICAgIGRlbHRhWCA9IDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIGlmICghbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX2NsaWVudC0+YWxs
b3dzVmVydGljYWxTdHJldGNoaW5nKCkpIHsKLSAgICAgICAgICAgICAgICBkZWx0YVkgPSAwOwot
ICAgICAgICAgICAgICAgIGV2ZW50Q29hbGVzY2VkRGVsdGFZID0gMDsKLSAgICAgICAgICAgIH0g
ZWxzZSBpZiAoKGRlbHRhWSAhPSAwKSAmJiAhaXNWZXJ0aWNhbGx5U3RyZXRjaGVkICYmICFwaW5u
ZWRJbkRpcmVjdGlvbigwLCBkZWx0YVkpKSB7Ci0gICAgICAgICAgICAgICAgZGVsdGFZICo9IHNj
cm9sbFdoZWVsTXVsdGlwbGllcigpOwotCi0gICAgICAgICAgICAgICAgbV9zY3JvbGxFbGFzdGlj
aXR5Q29udHJvbGxlci5tX2NsaWVudC0+aW1tZWRpYXRlU2Nyb2xsQnlXaXRob3V0Q29udGVudEVk
Z2VDb25zdHJhaW50cyhGbG9hdFNpemUoMCwgZGVsdGFZKSk7Ci0gICAgICAgICAgICAgICAgZGVs
dGFZID0gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgSW50U2l6
ZSBzdHJldGNoQW1vdW50ID0gbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX2NsaWVudC0+
c3RyZXRjaEFtb3VudCgpOwotICAgICAgICAKLSAgICAgICAgICAgIGlmIChtX3Njcm9sbEVsYXN0
aWNpdHlDb250cm9sbGVyLm1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKChwaW5uZWRJbkRpcmVjdGlvbihldmVudENvYWxlc2NlZERlbHRhWCwgZXZlbnRD
b2FsZXNjZWREZWx0YVkpIHx8IChmYWJzZihldmVudENvYWxlc2NlZERlbHRhWCkgKyBmYWJzZihl
dmVudENvYWxlc2NlZERlbHRhWSkgPD0gMCkpICYmIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xs
ZXIubV9sYXN0TW9tZW50dW1TY3JvbGxUaW1lc3RhbXApIHsKLSAgICAgICAgICAgICAgICAgICAg
bV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX2lnbm9yZU1vbWVudHVtU2Nyb2xscyA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgICAgIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9t
b21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgbV9z
Y3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5zbmFwUnViYmVyQmFuZCgpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgbV9zY3JvbGxFbGFzdGljaXR5Q29u
dHJvbGxlci5tX3N0cmV0Y2hTY3JvbGxGb3JjZS5zZXRXaWR0aChtX3Njcm9sbEVsYXN0aWNpdHlD
b250cm9sbGVyLm1fc3RyZXRjaFNjcm9sbEZvcmNlLndpZHRoKCkgKyBkZWx0YVgpOwotICAgICAg
ICAgICAgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX3N0cmV0Y2hTY3JvbGxGb3JjZS5z
ZXRIZWlnaHQobV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX3N0cmV0Y2hTY3JvbGxGb3Jj
ZS5oZWlnaHQoKSArIGRlbHRhWSk7Ci0KLSAgICAgICAgICAgIEZsb2F0U2l6ZSBkYW1wZWREZWx0
YShjZWlsZihlbGFzdGljRGVsdGFGb3JSZWJvdW5kRGVsdGEobV9zY3JvbGxFbGFzdGljaXR5Q29u
dHJvbGxlci5tX3N0cmV0Y2hTY3JvbGxGb3JjZS53aWR0aCgpKSksIGNlaWxmKGVsYXN0aWNEZWx0
YUZvclJlYm91bmREZWx0YShtX3Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLm1fc3RyZXRjaFNj
cm9sbEZvcmNlLmhlaWdodCgpKSkpOwotCi0gICAgICAgICAgICBtX3Njcm9sbEVsYXN0aWNpdHlD
b250cm9sbGVyLm1fY2xpZW50LT5pbW1lZGlhdGVTY3JvbGxCeVdpdGhvdXRDb250ZW50RWRnZUNv
bnN0cmFpbnRzKGRhbXBlZERlbHRhIC0gc3RyZXRjaEFtb3VudCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBpZiAobV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX21vbWVudHVtU2Nyb2xs
SW5Qcm9ncmVzcyAmJiBwaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkKSB7Ci0g
ICAgICAgIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIubV9tb21lbnR1bVNjcm9sbEluUHJv
Z3Jlc3MgPSBmYWxzZTsKLSAgICAgICAgbV9zY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5tX2ln
bm9yZU1vbWVudHVtU2Nyb2xscyA9IGZhbHNlOwotICAgICAgICBtX3Njcm9sbEVsYXN0aWNpdHlD
b250cm9sbGVyLm1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0YW1wID0gMDsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6YmVnaW5TY3JvbGxH
ZXN0dXJlKCkKIHsKICAgICBkaWRCZWdpblNjcm9sbEdlc3R1cmUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLmgK
aW5kZXggZTQxYzcxODIxZGIzZTlmOGM5YWUwMDYzYzhlNzhkOGI0YjBjZGZhYi4uNzIxNGVhMGY3
NmQ0ZjZiZjI2ZjZmODdmMmU3ZGUwNTI3YjQ5NmQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyLmgKQEAgLTM0
LDYgKzM0LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBQbGF0Zm9ybVdoZWVs
RXZlbnQ7CisKIGNsYXNzIFNjcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyQ2xpZW50IHsKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIH5TY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlckNsaWVudCgpIHsg
fSAKQEAgLTYzLDYgKzY1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBiZWdpblNjcm9sbEdlc3R1
cmUoKTsKIAorICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZl
bnQmKTsKICAgICB2b2lkIHNuYXBSdWJiZXJCYW5kVGltZXJGaXJlZCgpOwogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEVsYXN0aWNpdHlD
b250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEVsYXN0aWNp
dHlDb250cm9sbGVyLm1tCmluZGV4IGM0N2UxMDJjY2Q4NTJiYmZmNTdhZmZhMzg4NzdmODUzM2Rk
ZmI4NmEuLjIzYjNhMGNkZDM5MmQzNWZkODI0Yzk1ODJmNTk2NTgyMjQxMzQ1MjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxFbGFzdGljaXR5Q29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsRWxhc3RpY2l0eUNv
bnRyb2xsZXIubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJTY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlci5oIgogCisjaW5jbHVkZSAiUGxhdGZvcm1X
aGVlbEV2ZW50LmgiCiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDxzeXMvc3lzY3Rs
Lmg+CiAKQEAgLTY3LDYgKzY4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29u
c3QgZmxvYXQgc2Nyb2xsVmVsb2NpdHlaZXJvaW5nVGltZW91dCA9IDAuMTBmOwogc3RhdGljIGNv
bnN0IGZsb2F0IHJ1YmJlcmJhbmRTdGlmZm5lc3MgPSAyMDsKK3N0YXRpYyBjb25zdCBmbG9hdCBy
dWJiZXJiYW5kRGlyZWN0aW9uTG9ja1N0cmV0Y2hSYXRpbyA9IDE7CitzdGF0aWMgY29uc3QgZmxv
YXQgcnViYmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCA9IDEwOwogc3Rh
dGljIGNvbnN0IGZsb2F0IHJ1YmJlcmJhbmRBbXBsaXR1ZGUgPSAwLjMxZjsKIHN0YXRpYyBjb25z
dCBmbG9hdCBydWJiZXJiYW5kUGVyaW9kID0gMS42ZjsKIApAQCAtNzksMTEgKzgyLDI4IEBAIHN0
YXRpYyBmbG9hdCBlbGFzdGljRGVsdGFGb3JUaW1lRGVsdGEoZmxvYXQgaW5pdGlhbFBvc2l0aW9u
LCBmbG9hdCBpbml0aWFsVmVsb2NpCiAgICAgcmV0dXJuIChpbml0aWFsUG9zaXRpb24gKyAoLWlu
aXRpYWxWZWxvY2l0eSAqIGVsYXBzZWRUaW1lICogYW1wbGl0dWRlKSkgKiBjcml0aWNhbERhbXBl
bmluZ0ZhY3RvcjsKIH0KIAorc3RhdGljIGZsb2F0IGVsYXN0aWNEZWx0YUZvclJlYm91bmREZWx0
YShmbG9hdCBkZWx0YSkKK3sKKyAgICBmbG9hdCBzdGlmZm5lc3MgPSBzdGQ6Om1heChydWJiZXJi
YW5kU3RpZmZuZXNzLCAxLjBmKTsKKyAgICByZXR1cm4gZGVsdGEgLyBzdGlmZm5lc3M7Cit9CisK
IHN0YXRpYyBmbG9hdCByZWJvdW5kRGVsdGFGb3JFbGFzdGljRGVsdGEoZmxvYXQgZGVsdGEpCiB7
CiAgICAgcmV0dXJuIGRlbHRhICogcnViYmVyYmFuZFN0aWZmbmVzczsKIH0KIAorc3RhdGljIGZs
b2F0IHNjcm9sbFdoZWVsTXVsdGlwbGllcigpCit7CisgICAgc3RhdGljIGZsb2F0IG11bHRpcGxp
ZXIgPSAtMTsKKyAgICBpZiAobXVsdGlwbGllciA8IDApIHsKKyAgICAgICAgbXVsdGlwbGllciA9
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGZsb2F0Rm9yS2V5OkAiTlNT
Y3JvbGxXaGVlbE11bHRpcGxpZXIiXTsKKyAgICAgICAgaWYgKG11bHRpcGxpZXIgPD0gMCkKKyAg
ICAgICAgICAgIG11bHRpcGxpZXIgPSAxOworICAgIH0KKyAgICByZXR1cm4gbXVsdGlwbGllcjsK
K30KKwogU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXI6OlNjcm9sbEVsYXN0aWNpdHlDb250cm9s
bGVyKFNjcm9sbEVsYXN0aWNpdHlDb250cm9sbGVyQ2xpZW50KiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudChjbGllbnQpCiAgICAgLCBtX2luU2Nyb2xsR2VzdHVyZShmYWxzZSkKQEAgLTExMiw2ICsx
MzIsMTU3IEBAIHZvaWQgU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXI6OmJlZ2luU2Nyb2xsR2Vz
dHVyZSgpCiAgICAgc3RvcFNuYXBSdWJiZXJiYW5kVGltZXIoKTsKIH0KIAorYm9vbCBTY3JvbGxF
bGFzdGljaXR5Q29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmIHdoZWVsRXZlbnQpCit7CisgICAgYm9vbCBpc01vbWVudHVtU2Nyb2xsRXZlbnQgPSAo
d2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25l
KTsKKyAgICBpZiAobV9pZ25vcmVNb21lbnR1bVNjcm9sbHMgJiYgKGlzTW9tZW50dW1TY3JvbGxF
dmVudCB8fCBtX3NuYXBSdWJiZXJiYW5kVGltZXJJc0FjdGl2ZSkpIHsKKyAgICAgICAgaWYgKHdo
ZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQp
IHsKKyAgICAgICAgICAgIG1faWdub3JlTW9tZW50dW1TY3JvbGxzID0gZmFsc2U7CisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgZmxvYXQgZGVsdGFYID0gbV9vdmVyZmxvd1Njcm9sbERlbHRhLndpZHRoKCk7Cisg
ICAgZmxvYXQgZGVsdGFZID0gbV9vdmVyZmxvd1Njcm9sbERlbHRhLmhlaWdodCgpOworCisgICAg
Ly8gUmVzZXQgb3ZlcmZsb3cgdmFsdWVzIGJlY2F1c2Ugd2UgbWF5IGRlY2lkZSB0byByZW1vdmUg
ZGVsdGEgYXQgdmFyaW91cyBwb2ludHMgYW5kIHB1dCBpdCBpbnRvIG92ZXJmbG93LgorICAgIG1f
b3ZlcmZsb3dTY3JvbGxEZWx0YSA9IEZsb2F0U2l6ZSgpOworCisgICAgZmxvYXQgZXZlbnRDb2Fs
ZXNjZWREZWx0YVggPSAtd2hlZWxFdmVudC5kZWx0YVgoKTsKKyAgICBmbG9hdCBldmVudENvYWxl
c2NlZERlbHRhWSA9IC13aGVlbEV2ZW50LmRlbHRhWSgpOworCisgICAgZGVsdGFYICs9IGV2ZW50
Q29hbGVzY2VkRGVsdGFYOworICAgIGRlbHRhWSArPSBldmVudENvYWxlc2NlZERlbHRhWTsKKwor
ICAgIC8vIFNsaWdodGx5IHByZWZlciBzY3JvbGxpbmcgdmVydGljYWxseSBieSBhcHBseWluZyB0
aGUgPSBjYXNlIHRvIGRlbHRhWQorICAgIGlmIChmYWJzZihkZWx0YVkpID49IGZhYnNmKGRlbHRh
WCkpCisgICAgICAgIGRlbHRhWCA9IDA7CisgICAgZWxzZQorICAgICAgICBkZWx0YVkgPSAwOwor
CisgICAgYm9vbCBpc1ZlcnRpY2FsbHlTdHJldGNoZWQgPSBmYWxzZTsKKyAgICBib29sIGlzSG9y
aXpvbnRhbGx5U3RyZXRjaGVkID0gZmFsc2U7CisgICAgYm9vbCBzaG91bGRTdHJldGNoID0gZmFs
c2U7CisKKyAgICBJbnRTaXplIHN0cmV0Y2hBbW91bnQgPSBtX2NsaWVudC0+c3RyZXRjaEFtb3Vu
dCgpOworCisgICAgaXNIb3Jpem9udGFsbHlTdHJldGNoZWQgPSBzdHJldGNoQW1vdW50LndpZHRo
KCk7CisgICAgaXNWZXJ0aWNhbGx5U3RyZXRjaGVkID0gc3RyZXRjaEFtb3VudC5oZWlnaHQoKTsK
KworICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlID0gd2hlZWxFdmVudC5tb21lbnR1
bVBoYXNlKCk7CisKKyAgICAvLyBJZiB3ZSBhcmUgc3RhcnRpbmcgbW9tZW50dW0gc2Nyb2xsaW5n
IHRoZW4gZG8gc29tZSBzZXR1cC4KKyAgICBpZiAoIW1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNz
ICYmIChwaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuIHx8IHBoYXNlID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZCkpCisgICAgICAgIG1fbW9tZW50dW1TY3JvbGxJ
blByb2dyZXNzID0gdHJ1ZTsKKworICAgIENGVGltZUludGVydmFsIHRpbWVEZWx0YSA9IHdoZWVs
RXZlbnQudGltZXN0YW1wKCkgLSBtX2xhc3RNb21lbnR1bVNjcm9sbFRpbWVzdGFtcDsKKyAgICBp
ZiAobV9pblNjcm9sbEdlc3R1cmUgfHwgbV9tb21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MpIHsKKyAg
ICAgICAgaWYgKG1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0YW1wICYmIHRpbWVEZWx0YSA+IDAg
JiYgdGltZURlbHRhIDwgc2Nyb2xsVmVsb2NpdHlaZXJvaW5nVGltZW91dCkgeworICAgICAgICAg
ICAgbV9tb21lbnR1bVZlbG9jaXR5LnNldFdpZHRoKGV2ZW50Q29hbGVzY2VkRGVsdGFYIC8gKGZs
b2F0KXRpbWVEZWx0YSk7CisgICAgICAgICAgICBtX21vbWVudHVtVmVsb2NpdHkuc2V0SGVpZ2h0
KGV2ZW50Q29hbGVzY2VkRGVsdGFZIC8gKGZsb2F0KXRpbWVEZWx0YSk7CisgICAgICAgICAgICBt
X2xhc3RNb21lbnR1bVNjcm9sbFRpbWVzdGFtcCA9IHdoZWVsRXZlbnQudGltZXN0YW1wKCk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2xhc3RNb21lbnR1bVNjcm9sbFRpbWVzdGFt
cCA9IHdoZWVsRXZlbnQudGltZXN0YW1wKCk7CisgICAgICAgICAgICBtX21vbWVudHVtVmVsb2Np
dHkgPSBGbG9hdFNpemUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpc1ZlcnRpY2FsbHlT
dHJldGNoZWQpIHsKKyAgICAgICAgICAgIGlmICghaXNIb3Jpem9udGFsbHlTdHJldGNoZWQgJiYg
bV9jbGllbnQtPnBpbm5lZEluRGlyZWN0aW9uKEZsb2F0U2l6ZShkZWx0YVgsIDApKSkgeworICAg
ICAgICAgICAgICAgIC8vIFN0cmV0Y2hpbmcgb25seSBpbiB0aGUgdmVydGljYWwuCisgICAgICAg
ICAgICAgICAgaWYgKGRlbHRhWSAhPSAwICYmIChmYWJzZihkZWx0YVggLyBkZWx0YVkpIDwgcnVi
YmVyYmFuZERpcmVjdGlvbkxvY2tTdHJldGNoUmF0aW8pKQorICAgICAgICAgICAgICAgICAgICBk
ZWx0YVggPSAwOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZhYnNmKGRlbHRhWCkgPCBydWJi
ZXJiYW5kTWluaW11bVJlcXVpcmVkRGVsdGFCZWZvcmVTdHJldGNoKSB7CisgICAgICAgICAgICAg
ICAgICAgIG1fb3ZlcmZsb3dTY3JvbGxEZWx0YS5zZXRXaWR0aChtX292ZXJmbG93U2Nyb2xsRGVs
dGEud2lkdGgoKSArIGRlbHRhWCk7CisgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IDA7Cisg
ICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIG1fb3ZlcmZsb3dTY3Jv
bGxEZWx0YS5zZXRXaWR0aChtX292ZXJmbG93U2Nyb2xsRGVsdGEud2lkdGgoKSArIGRlbHRhWCk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoaXNIb3Jpem9udGFsbHlTdHJldGNo
ZWQpIHsKKyAgICAgICAgICAgIC8vIFN0cmV0Y2hpbmcgb25seSBpbiB0aGUgaG9yaXpvbnRhbC4K
KyAgICAgICAgICAgIGlmIChtX2NsaWVudC0+cGlubmVkSW5EaXJlY3Rpb24oRmxvYXRTaXplKDAs
IGRlbHRhWSkpKSB7CisgICAgICAgICAgICAgICAgaWYgKGRlbHRhWCAhPSAwICYmIChmYWJzZihk
ZWx0YVkgLyBkZWx0YVgpIDwgcnViYmVyYmFuZERpcmVjdGlvbkxvY2tTdHJldGNoUmF0aW8pKQor
ICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAwOworICAgICAgICAgICAgICAgIGVsc2UgaWYg
KGZhYnNmKGRlbHRhWSkgPCBydWJiZXJiYW5kTWluaW11bVJlcXVpcmVkRGVsdGFCZWZvcmVTdHJl
dGNoKSB7CisgICAgICAgICAgICAgICAgICAgIG1fb3ZlcmZsb3dTY3JvbGxEZWx0YS5zZXRIZWln
aHQobV9vdmVyZmxvd1Njcm9sbERlbHRhLmhlaWdodCgpICsgZGVsdGFZKTsKKyAgICAgICAgICAg
ICAgICAgICAgZGVsdGFZID0gMDsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgbV9vdmVyZmxvd1Njcm9sbERlbHRhLnNldEhlaWdodChtX292ZXJmbG93U2Nyb2xs
RGVsdGEuaGVpZ2h0KCkgKyBkZWx0YVkpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgLy8gTm90IHN0cmV0Y2hpbmcgYXQgYWxsIHlldC4KKyAgICAgICAgICAg
IGlmIChtX2NsaWVudC0+cGlubmVkSW5EaXJlY3Rpb24oRmxvYXRTaXplKGRlbHRhWCwgZGVsdGFZ
KSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZmFic2YoZGVsdGFZKSA+PSBmYWJzZihkZWx0YVgp
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChmYWJzZihkZWx0YVgpIDwgcnViYmVyYmFuZE1p
bmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgbV9vdmVyZmxvd1Njcm9sbERlbHRhLnNldFdpZHRoKG1fb3ZlcmZsb3dTY3JvbGxEZWx0YS53
aWR0aCgpICsgZGVsdGFYKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IDA7Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbV9vdmVy
Zmxvd1Njcm9sbERlbHRhLnNldFdpZHRoKG1fb3ZlcmZsb3dTY3JvbGxEZWx0YS53aWR0aCgpICsg
ZGVsdGFYKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc2hvdWxkU3RyZXRj
aCA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoZGVs
dGFYICE9IDAgfHwgZGVsdGFZICE9IDApIHsKKyAgICAgICAgaWYgKCEoc2hvdWxkU3RyZXRjaCB8
fCBpc1ZlcnRpY2FsbHlTdHJldGNoZWQgfHwgaXNIb3Jpem9udGFsbHlTdHJldGNoZWQpKSB7Cisg
ICAgICAgICAgICBpZiAoZGVsdGFZICE9IDApIHsKKyAgICAgICAgICAgICAgICBkZWx0YVkgKj0g
c2Nyb2xsV2hlZWxNdWx0aXBsaWVyKCk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmltbWVk
aWF0ZVNjcm9sbEJ5KEZsb2F0U2l6ZSgwLCBkZWx0YVkpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGlmIChkZWx0YVggIT0gMCkgeworICAgICAgICAgICAgICAgIGRlbHRhWCAqPSBzY3Jv
bGxXaGVlbE11bHRpcGxpZXIoKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVudC0+aW1tZWRpYXRl
U2Nyb2xsQnkoRmxvYXRTaXplKGRlbHRhWCwgMCkpOworICAgICAgICAgICAgfQorICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC0+YWxsb3dzSG9yaXpvbnRhbFN0cmV0
Y2hpbmcoKSkgeworICAgICAgICAgICAgICAgIGRlbHRhWCA9IDA7CisgICAgICAgICAgICAgICAg
ZXZlbnRDb2FsZXNjZWREZWx0YVggPSAwOworICAgICAgICAgICAgfSBlbHNlIGlmICgoZGVsdGFY
ICE9IDApICYmICFpc0hvcml6b250YWxseVN0cmV0Y2hlZCAmJiAhbV9jbGllbnQtPnBpbm5lZElu
RGlyZWN0aW9uKEZsb2F0U2l6ZShkZWx0YVgsIDApKSkgeworICAgICAgICAgICAgICAgIGRlbHRh
WCAqPSBzY3JvbGxXaGVlbE11bHRpcGxpZXIoKTsKKworICAgICAgICAgICAgICAgIG1fY2xpZW50
LT5pbW1lZGlhdGVTY3JvbGxCeVdpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKEZsb2F0U2l6
ZShkZWx0YVgsIDApKTsKKyAgICAgICAgICAgICAgICBkZWx0YVggPSAwOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LT5hbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmco
KSkgeworICAgICAgICAgICAgICAgIGRlbHRhWSA9IDA7CisgICAgICAgICAgICAgICAgZXZlbnRD
b2FsZXNjZWREZWx0YVkgPSAwOworICAgICAgICAgICAgfSBlbHNlIGlmICgoZGVsdGFZICE9IDAp
ICYmICFpc1ZlcnRpY2FsbHlTdHJldGNoZWQgJiYgIW1fY2xpZW50LT5waW5uZWRJbkRpcmVjdGlv
bihGbG9hdFNpemUoMCwgZGVsdGFZKSkpIHsKKyAgICAgICAgICAgICAgICBkZWx0YVkgKj0gc2Ny
b2xsV2hlZWxNdWx0aXBsaWVyKCk7CisKKyAgICAgICAgICAgICAgICBtX2NsaWVudC0+aW1tZWRp
YXRlU2Nyb2xsQnlXaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhGbG9hdFNpemUoMCwgZGVs
dGFZKSk7CisgICAgICAgICAgICAgICAgZGVsdGFZID0gMDsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgSW50U2l6ZSBzdHJldGNoQW1vdW50ID0gbV9jbGllbnQtPnN0cmV0Y2hBbW91bnQo
KTsKKworICAgICAgICAgICAgaWYgKG1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzKSB7CisgICAg
ICAgICAgICAgICAgaWYgKChtX2NsaWVudC0+cGlubmVkSW5EaXJlY3Rpb24oRmxvYXRTaXplKGV2
ZW50Q29hbGVzY2VkRGVsdGFYLCBldmVudENvYWxlc2NlZERlbHRhWSkpIHx8IChmYWJzZihldmVu
dENvYWxlc2NlZERlbHRhWCkgKyBmYWJzZihldmVudENvYWxlc2NlZERlbHRhWSkgPD0gMCkpICYm
IG1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0YW1wKSB7CisgICAgICAgICAgICAgICAgICAgIG1f
aWdub3JlTW9tZW50dW1TY3JvbGxzID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgbV9tb21l
bnR1bVNjcm9sbEluUHJvZ3Jlc3MgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgc25hcFJ1
YmJlckJhbmQoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIG1fc3RyZXRjaFNjcm9sbEZvcmNlLnNldFdpZHRoKG1fc3RyZXRjaFNjcm9sbEZvcmNlLndp
ZHRoKCkgKyBkZWx0YVgpOworICAgICAgICAgICAgbV9zdHJldGNoU2Nyb2xsRm9yY2Uuc2V0SGVp
Z2h0KG1fc3RyZXRjaFNjcm9sbEZvcmNlLmhlaWdodCgpICsgZGVsdGFZKTsKKworICAgICAgICAg
ICAgRmxvYXRTaXplIGRhbXBlZERlbHRhKGNlaWxmKGVsYXN0aWNEZWx0YUZvclJlYm91bmREZWx0
YShtX3N0cmV0Y2hTY3JvbGxGb3JjZS53aWR0aCgpKSksIGNlaWxmKGVsYXN0aWNEZWx0YUZvclJl
Ym91bmREZWx0YShtX3N0cmV0Y2hTY3JvbGxGb3JjZS5oZWlnaHQoKSkpKTsKKworICAgICAgICAg
ICAgbV9jbGllbnQtPmltbWVkaWF0ZVNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWlu
dHMoZGFtcGVkRGVsdGEgLSBzdHJldGNoQW1vdW50KTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGlmIChtX21vbWVudHVtU2Nyb2xsSW5Qcm9ncmVzcyAmJiBwaGFzZSA9PSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZUVuZGVkKSB7CisgICAgICAgIG1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzID0g
ZmFsc2U7CisgICAgICAgIG1faWdub3JlTW9tZW50dW1TY3JvbGxzID0gZmFsc2U7CisgICAgICAg
IG1fbGFzdE1vbWVudHVtU2Nyb2xsVGltZXN0YW1wID0gMDsKKyAgICB9CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwogc3RhdGljIGlubGluZSBmbG9hdCByb3VuZFRvd2FyZFplcm8oZmxvYXQgbnVt
KQogewogICAgIHJldHVybiBudW0gPiAwID8gY2VpbGYobnVtIC0gMC41ZikgOiBmbG9vcmYobnVt
ICsgMC41Zik7Cg==
</data>
<flag name="review"
          id="123041"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>