<?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>128796</bug_id>
          
          <creation_ts>2014-02-13 20:31:03 -0800</creation_ts>
          <short_desc>Kill some of the last vestiges of the C++ interpreter&apos;s PICs</short_desc>
          <delta_ts>2014-02-13 21:35:25 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>128795</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980617</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-13 20:31:03 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980618</commentid>
    <comment_count>1</comment_count>
      <attachid>224154</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-13 20:31:47 -0800</bug_when>
    <thetext>Created attachment 224154
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980619</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 20:34:04 -0800</bug_when>
    <thetext>Attachment 224154 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _stubRoutine is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _base is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _chain is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _isDirect is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _count is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 5 in 5 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>980625</commentid>
    <comment_count>3</comment_count>
      <attachid>224157</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-13 20:57:06 -0800</bug_when>
    <thetext>Created attachment 224157
the patch

Still R=michael, trying to fix the build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980626</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 20:58:50 -0800</bug_when>
    <thetext>Attachment 224157 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _stubRoutine is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _base is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _chain is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _isDirect is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/PolymorphicAccessStructureList.h:67:  _count is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 5 in 5 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>980635</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-13 21:35:25 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/164092</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224154</attachid>
            <date>2014-02-13 20:31:47 -0800</date>
            <delta_ts>2014-02-13 20:57:06 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>24831</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MDkxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE0LTAyLTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
S2lsbCBzb21lIG9mIHRoZSBsYXN0IHZlc3RpZ2VzIG9mIHRoZSBDKysgaW50ZXJwcmV0ZXIncyBQ
SUNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg3
OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ5
dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OmNvbXB1dGVVc2VzRm9yQnl0
ZWNvZGVPZmZzZXQpOgorICAgICAgICAoSlNDOjpjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0
KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2Rl
QmxvY2s6OnByaW50R2V0QnlJZE9wKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpwcmludEdl
dEJ5SWRDYWNoZVN0YXR1cyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2Rl
KToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgorICAgICAgICAqIGJ5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAo
SlNDOjpwYWRPcGNvZGVOYW1lKToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vz
c1N0cnVjdHVyZUxpc3QuaDoKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1
cmVMaXN0OjpQb2x5bW9ycGhpY1N0dWJJbmZvOjpQb2x5bW9ycGhpY1N0dWJJbmZvKToKKyAgICAg
ICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0OjpQb2x5bW9ycGhpY1N0dWJJ
bmZvOjpzZXQpOgorICAgICAgICAoSlNDOjpQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Q6
OlBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCk6CisgICAgICAgIChKU0M6OlBvbHltb3Jw
aGljQWNjZXNzU3RydWN0dXJlTGlzdDo6dmlzaXRXZWFrKToKKyAgICAgICAgKiBieXRlY29kZS9T
dHJ1Y3R1cmVTdHViSW5mby5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvOjpk
ZXJlZik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdFdlYWtSZWZlcmVu
Y2VzKToKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAgICAo
SlNDOjppc0dldEJ5SWRBY2Nlc3MpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9SZXBhdGNo
LmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0UG9seW1vcnBoaWNTdHJ1Y3R1cmVMaXN0KToKKyAgICAg
ICAgKEpTQzo6dHJ5QnVpbGRHZXRCeUlETGlzdCk6CisKIDIwMTQtMDItMTMgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBKU0NvbnRhaW5lckNvbnZlcnRvciBh
bmQgT2JqY0NvbnRhaW5lckNvbnZlcnRvciBuZWVkIHRvIHByb3RlY3QgSlNWYWx1ZVJlZnMuIFBh
cnQgMi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURl
Zi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZVVzZURlZi5oCShyZXZpc2lvbiAxNjQwODkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAkod29ya2luZyBjb3B5KQpAQCAtOTksMTMgKzk5LDEwIEBA
IHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCgKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBjYXNlIG9wX3B1dF9ieV9pbmRleDoKLSAgICBjYXNlIG9wX3B1dF9ieV9pZF9yZXBs
YWNlOgotICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3RyYW5zaXRpb246CiAgICAgY2FzZSBvcF9wdXRf
YnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Q6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlv
bl9kaXJlY3Rfb3V0X29mX2xpbmU6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9u
b3JtYWw6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWxfb3V0X29mX2xp
bmU6Ci0gICAgY2FzZSBvcF9wdXRfYnlfaWRfZ2VuZXJpYzoKICAgICBjYXNlIG9wX3B1dF9ieV9p
ZF9vdXRfb2ZfbGluZToKICAgICBjYXNlIG9wX3B1dF9ieV9pZDoKICAgICBjYXNlIG9wX3B1dF90
b19zY29wZTogewpAQCAtMTI2LDE4ICsxMjMsNyBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNv
ZGVPZmZzZXQoCiAgICAgY2FzZSBvcF90b19wcmltaXRpdmU6CiAgICAgY2FzZSBvcF9nZXRfYnlf
aWQ6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWRfb3V0X29mX2xpbmU6Ci0gICAgY2FzZSBvcF9nZXRf
YnlfaWRfc2VsZjoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90bzoKLSAgICBjYXNlIG9wX2dl
dF9ieV9pZF9jaGFpbjoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfc2VsZjoKLSAgICBj
YXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfcHJvdG86Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0
dGVyX2NoYWluOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9zZWxmOgotICAgIGNhc2Ug
b3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bzoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9jdXN0b21f
Y2hhaW46Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2VuZXJpYzoKICAgICBjYXNlIG9wX2dldF9h
cnJheV9sZW5ndGg6Ci0gICAgY2FzZSBvcF9nZXRfc3RyaW5nX2xlbmd0aDoKICAgICBjYXNlIG9w
X2dldF9hcmd1bWVudHNfbGVuZ3RoOgogICAgIGNhc2Ugb3BfdHlwZW9mOgogICAgIGNhc2Ugb3Bf
aXNfdW5kZWZpbmVkOgpAQCAtMjkxLDEzICsyNzcsMTAgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5
dGVjb2RlT2Zmc2V0KENvZGVCbAogICAgIGNhc2Ugb3Bfc3dpdGNoX3N0cmluZzoKICAgICBjYXNl
IG9wX3B1dF9ieV9pZDoKICAgICBjYXNlIG9wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZToKLSAgICBj
YXNlIG9wX3B1dF9ieV9pZF9yZXBsYWNlOgotICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3RyYW5zaXRp
b246CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Q6CiAgICAgY2FzZSBv
cF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Rfb3V0X29mX2xpbmU6CiAgICAgY2FzZSBvcF9w
dXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWw6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNp
dGlvbl9ub3JtYWxfb3V0X29mX2xpbmU6Ci0gICAgY2FzZSBvcF9wdXRfYnlfaWRfZ2VuZXJpYzoK
ICAgICBjYXNlIG9wX3B1dF9nZXR0ZXJfc2V0dGVyOgogICAgIGNhc2Ugb3BfcHV0X2J5X3ZhbDoK
ICAgICBjYXNlIG9wX3B1dF9ieV92YWxfZGlyZWN0OgpAQCAtMzMwLDE4ICszMTMsNyBAQCB2b2lk
IGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsCiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3Q6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWQ6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWRfb3V0X29m
X2xpbmU6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfc2VsZjoKLSAgICBjYXNlIG9wX2dldF9ieV9p
ZF9wcm90bzoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9jaGFpbjoKLSAgICBjYXNlIG9wX2dldF9i
eV9pZF9nZXR0ZXJfc2VsZjoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfcHJvdG86Ci0g
ICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX2NoYWluOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lk
X2N1c3RvbV9zZWxmOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bzoKLSAgICBj
YXNlIG9wX2dldF9ieV9pZF9jdXN0b21fY2hhaW46Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2Vu
ZXJpYzoKICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6Ci0gICAgY2FzZSBvcF9nZXRfc3Ry
aW5nX2xlbmd0aDoKICAgICBjYXNlIG9wX2NoZWNrX2hhc19pbnN0YW5jZToKICAgICBjYXNlIG9w
X2luc3RhbmNlb2Y6CiAgICAgY2FzZSBvcF9nZXRfYnlfdmFsOgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDE2NDA4OSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNjQsNDIgKzI2NCw5IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRPcChQ
cmludFN0cmUKICAgICBjYXNlIG9wX2dldF9ieV9pZF9vdXRfb2ZfbGluZToKICAgICAgICAgb3Ag
PSAiZ2V0X2J5X2lkX291dF9vZl9saW5lIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9n
ZXRfYnlfaWRfc2VsZjoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX3NlbGYiOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90bzoKLSAgICAgICAgb3AgPSAiZ2V0X2J5
X2lkX3Byb3RvIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfY2hhaW46
Ci0gICAgICAgIG9wID0gImdldF9ieV9pZF9jaGFpbiI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2Ugb3BfZ2V0X2J5X2lkX2dldHRlcl9zZWxmOgotICAgICAgICBvcCA9ICJnZXRfYnlfaWRfZ2V0
dGVyX3NlbGYiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJf
cHJvdG86Ci0gICAgICAgIG9wID0gImdldF9ieV9pZF9nZXR0ZXJfcHJvdG8iOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfY2hhaW46Ci0gICAgICAgIG9wID0g
ImdldF9ieV9pZF9nZXR0ZXJfY2hhaW4iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIG9wX2dl
dF9ieV9pZF9jdXN0b21fc2VsZjoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX2N1c3RvbV9zZWxm
IjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfY3VzdG9tX3Byb3RvOgot
ICAgICAgICBvcCA9ICJnZXRfYnlfaWRfY3VzdG9tX3Byb3RvIjsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBvcF9nZXRfYnlfaWRfY3VzdG9tX2NoYWluOgotICAgICAgICBvcCA9ICJnZXRfYnlf
aWRfY3VzdG9tX2NoYWluIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRf
Z2VuZXJpYzoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX2dlbmVyaWMiOwotICAgICAgICBicmVh
azsKICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgICAgIG9wID0gImFycmF5X2xl
bmd0aCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ugb3BfZ2V0X3N0cmluZ19sZW5ndGg6Ci0g
ICAgICAgIG9wID0gInN0cmluZ19sZW5ndGgiOwotICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBvcCA9IDA7
CkBAIC0zODIsMTEgKzM0OSw2IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRDYWNoZVN0
YXR1cygKICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJzZWxmIik7CiAgICAgICAgICAgICAg
ICAgYmFzZVN0cnVjdHVyZSA9IHN0dWJJbmZvLnUuZ2V0QnlJZFNlbGYuYmFzZU9iamVjdFN0cnVj
dHVyZS5nZXQoKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgYWNj
ZXNzX2dldF9ieV9pZF9wcm90bzoKLSAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJwcm90byIp
OwotICAgICAgICAgICAgICAgIGJhc2VTdHJ1Y3R1cmUgPSBzdHViSW5mby51LmdldEJ5SWRQcm90
by5iYXNlT2JqZWN0U3RydWN0dXJlLmdldCgpOwotICAgICAgICAgICAgICAgIHByb3RvdHlwZVN0
cnVjdHVyZSA9IHN0dWJJbmZvLnUuZ2V0QnlJZFByb3RvLnByb3RvdHlwZVN0cnVjdHVyZS5nZXQo
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgYWNjZXNzX2dldF9i
eV9pZF9jaGFpbjoKICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJjaGFpbiIpOwogICAgICAg
ICAgICAgICAgIGJhc2VTdHJ1Y3R1cmUgPSBzdHViSW5mby51LmdldEJ5SWRDaGFpbi5iYXNlT2Jq
ZWN0U3RydWN0dXJlLmdldCgpOwpAQCAtMzk3LDExICszNTksNiBAQCB2b2lkIENvZGVCbG9jazo6
cHJpbnRHZXRCeUlkQ2FjaGVTdGF0dXMoCiAgICAgICAgICAgICAgICAgc3RydWN0dXJlTGlzdCA9
IHN0dWJJbmZvLnUuZ2V0QnlJZFNlbGZMaXN0LnN0cnVjdHVyZUxpc3Q7CiAgICAgICAgICAgICAg
ICAgbGlzdFNpemUgPSBzdHViSW5mby51LmdldEJ5SWRTZWxmTGlzdC5saXN0U2l6ZTsKICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9wcm90
b19saXN0OgotICAgICAgICAgICAgICAgIG91dC5wcmludGYoInByb3RvX2xpc3QiKTsKLSAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmVMaXN0ID0gc3R1YkluZm8udS5nZXRCeUlkUHJvdG9MaXN0LnN0
cnVjdHVyZUxpc3Q7Ci0gICAgICAgICAgICAgICAgbGlzdFNpemUgPSBzdHViSW5mby51LmdldEJ5
SWRQcm90b0xpc3QubGlzdFNpemU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjYXNlIGFjY2Vzc191bnNldDoKICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJ1bnNldCIp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDQxLDE2ICszOTgsOSBAQCB2b2lkIENvZGVC
bG9jazo6cHJpbnRHZXRCeUlkQ2FjaGVTdGF0dXMoCiAgICAgICAgICAgICAgICAgICAgICAgICBv
dXQucHJpbnRmKCIsICIpOwogICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCIoIik7CiAg
ICAgICAgICAgICAgICAgICAgIGR1bXBTdHJ1Y3R1cmUob3V0LCAiYmFzZSIsIGV4ZWMsIHN0cnVj
dHVyZUxpc3QtPmxpc3RbaV0uYmFzZS5nZXQoKSwgaWRlbnQpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlTGlzdC0+bGlzdFtpXS5pc0NoYWluKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoc3RydWN0dXJlTGlzdC0+bGlzdFtpXS51LmNoYWluLmdldCgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50ZigiLCAiKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkdW1wQ2hhaW4ob3V0LCBleGVjLCBzdHJ1Y3R1cmVMaXN0LT5saXN0W2ld
LnUuY2hhaW4uZ2V0KCksIGlkZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1
Y3R1cmVMaXN0LT5saXN0W2ldLnUucHJvdG8uZ2V0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvdXQucHJpbnRmKCIsICIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1
bXBTdHJ1Y3R1cmUob3V0LCAicHJvdG8iLCBleGVjLCBzdHJ1Y3R1cmVMaXN0LT5saXN0W2ldLnUu
cHJvdG8uZ2V0KCksIGlkZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0cnVjdHVyZUxpc3QtPmxpc3RbaV0uY2hhaW4uZ2V0KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG91dC5wcmludGYoIiwgIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICBkdW1wQ2hhaW4ob3V0LCBleGVjLCBzdHJ1Y3R1cmVMaXN0LT5saXN0W2ldLmNoYWlu
LmdldCgpLCBpZGVudCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgb3V0LnByaW50ZigiKSIpOwogICAgICAgICAgICAgICAgIH0KQEAgLTk2NywxOCArOTE3LDcg
QEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQcmludFN0cmVhbQogICAgICAgICB9CiAg
ICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgogICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9vdXRf
b2ZfbGluZToKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfc2VsZjoKLSAgICAgICAgY2FzZSBv
cF9nZXRfYnlfaWRfcHJvdG86Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2NoYWluOgotICAg
ICAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfc2VsZjoKLSAgICAgICAgY2FzZSBvcF9nZXRf
YnlfaWRfZ2V0dGVyX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfY2hh
aW46Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9zZWxmOgotICAgICAgICBjYXNl
IG9wX2dldF9ieV9pZF9jdXN0b21fcHJvdG86Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1
c3RvbV9jaGFpbjoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2VuZXJpYzoKLSAgICAgICAg
Y2FzZSBvcF9nZXRfYXJyYXlfbGVuZ3RoOgotICAgICAgICBjYXNlIG9wX2dldF9zdHJpbmdfbGVu
Z3RoOiB7CisgICAgICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDogewogICAgICAgICAgICAg
cHJpbnRHZXRCeUlkT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQpOwogICAgICAgICAgICAgcHJp
bnRHZXRCeUlkQ2FjaGVTdGF0dXMob3V0LCBleGVjLCBsb2NhdGlvbiwgbWFwKTsKICAgICAgICAg
ICAgIGR1bXBWYWx1ZVByb2ZpbGluZyhvdXQsIGl0LCBoYXNQcmludGVkUHJvZmlsaW5nKTsKQEAg
LTk5NywxNCArOTM2LDYgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQcmludFN0cmVh
bQogICAgICAgICAgICAgcHJpbnRQdXRCeUlkT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJw
dXRfYnlfaWRfb3V0X29mX2xpbmUiKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0g
ICAgICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3JlcGxhY2U6IHsKLSAgICAgICAgICAgIHByaW50UHV0
QnlJZE9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAicHV0X2J5X2lkX3JlcGxhY2UiKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3Ry
YW5zaXRpb246IHsKLSAgICAgICAgICAgIHByaW50UHV0QnlJZE9wKG91dCwgZXhlYywgbG9jYXRp
b24sIGl0LCAicHV0X2J5X2lkX3RyYW5zaXRpb24iKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9CiAgICAgICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0OiB7CiAg
ICAgICAgICAgICBwcmludFB1dEJ5SWRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgInB1dF9i
eV9pZF90cmFuc2l0aW9uX2RpcmVjdCIpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMDIxLDEw
ICs5NTIsNiBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKFByaW50U3RyZWFtCiAgICAg
ICAgICAgICBwcmludFB1dEJ5SWRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgInB1dF9ieV9p
ZF90cmFuc2l0aW9uX25vcm1hbF9vdXRfb2ZfbGluZSIpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF9wdXRfYnlfaWRfZ2VuZXJpYzogewotICAgICAgICAg
ICAgcHJpbnRQdXRCeUlkT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJwdXRfYnlfaWRfZ2Vu
ZXJpYyIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9w
dXRfZ2V0dGVyX3NldHRlcjogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CiAgICAgICAgICAgICBpbnQgaWQwID0gKCsraXQpLT51Lm9wZXJhbmQ7CkBAIC0xNzc4LDE4
ICsxNzA1LDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJsZSogbwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfb3V0
X29mX2xpbmU6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3NlbGY6Ci0gICAgICAgIGNhc2Ug
b3BfZ2V0X2J5X2lkX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9jaGFpbjoKLSAg
ICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX3NlbGY6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0
X2J5X2lkX2dldHRlcl9wcm90bzoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX2No
YWluOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9jdXN0b21fc2VsZjoKLSAgICAgICAgY2Fz
ZSBvcF9nZXRfYnlfaWRfY3VzdG9tX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9j
dXN0b21fY2hhaW46Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2dlbmVyaWM6CiAgICAgICAg
IGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDoKLSAgICAgICAgY2FzZSBvcF9nZXRfc3RyaW5nX2xl
bmd0aDoKICAgICAgICAgICAgIENSQVNIKCk7CiAKICAgICAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdF9ub3A6IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYx
LDI1ICsxNjEsMTUgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwog
ICAgIGlmIChzdHViSW5mby0+cmVzZXRCeUdDKQogICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1
cyhUYWtlc1Nsb3dQYXRoLCB0cnVlKTsKIAotICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJl
TGlzdCogbGlzdDsKLSAgICBpbnQgbGlzdFNpemU7Ci0gICAgc3dpdGNoIChzdHViSW5mby0+YWNj
ZXNzVHlwZSkgewotICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9zZWxmX2xpc3Q6CisgICAgUG9s
eW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBsaXN0ID0gMDsKKyAgICBpbnQgbGlzdFNpemUg
PSAwOworICAgIGlmIChzdHViSW5mby0+YWNjZXNzVHlwZSA9PSBhY2Nlc3NfZ2V0X2J5X2lkX3Nl
bGZfbGlzdCkgewogICAgICAgICBsaXN0ID0gc3R1YkluZm8tPnUuZ2V0QnlJZFNlbGZMaXN0LnN0
cnVjdHVyZUxpc3Q7CiAgICAgICAgIGxpc3RTaXplID0gc3R1YkluZm8tPnUuZ2V0QnlJZFNlbGZM
aXN0Lmxpc3RTaXplOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRf
cHJvdG9fbGlzdDoKLSAgICAgICAgbGlzdCA9IHN0dWJJbmZvLT51LmdldEJ5SWRQcm90b0xpc3Qu
c3RydWN0dXJlTGlzdDsKLSAgICAgICAgbGlzdFNpemUgPSBzdHViSW5mby0+dS5nZXRCeUlkUHJv
dG9MaXN0Lmxpc3RTaXplOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBs
aXN0ID0gMDsKLSAgICAgICAgbGlzdFNpemUgPSAwOwotICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgIGlmICghbGlz
dC0+bGlzdFtpXS5pc0RpcmVjdCkKLSAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKE1h
a2VzQ2FsbHMsIHRydWUpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxpc3RTaXplOyAr
K2kpIHsKKyAgICAgICAgICAgIGlmICghbGlzdC0+bGlzdFtpXS5pc0RpcmVjdCkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhNYWtlc0NhbGxzLCB0cnVlKTsKKyAgICAgICAg
fQogICAgIH0KICAgICAKICAgICAvLyBGaW5hbGx5IGZpZ3VyZSBvdXQgaWYgd2UgY2FuIGRlcml2
ZSBhbiBhY2Nlc3Mgc3RyYXRlZ3kuCkBAIC0yNTAsMTcgKzI0MCw2IEBAIEdldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAg
ICAKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG86IHsKLSAgICAgICAgaWYgKCFzdHVi
SW5mby0+dS5nZXRCeUlkUHJvdG8uaXNEaXJlY3QpCi0gICAgICAgICAgICByZXR1cm4gR2V0QnlJ
ZFN0YXR1cyhNYWtlc0NhbGxzLCB0cnVlKTsKLSAgICAgICAgcmVzdWx0Lm1fY2hhaW4gPSBhZG9w
dFJlZihuZXcgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbigKLSAgICAgICAgICAgIHByb2ZpbGVkQmxv
Y2ssCi0gICAgICAgICAgICBzdHViSW5mby0+dS5nZXRCeUlkUHJvdG8uYmFzZU9iamVjdFN0cnVj
dHVyZS5nZXQoKSwKLSAgICAgICAgICAgIHN0dWJJbmZvLT51LmdldEJ5SWRQcm90by5wcm90b3R5
cGVTdHJ1Y3R1cmUuZ2V0KCkpKTsKLSAgICAgICAgY29tcHV0ZUZvckNoYWluKHJlc3VsdCwgcHJv
ZmlsZWRCbG9jaywgdWlkKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgICAgICAKICAgICBj
YXNlIGFjY2Vzc19nZXRfYnlfaWRfY2hhaW46IHsKICAgICAgICAgaWYgKCFzdHViSW5mby0+dS5n
ZXRCeUlkQ2hhaW4uaXNEaXJlY3QpCiAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhN
YWtlc0NhbGxzLCB0cnVlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmgJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9PcGNvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDI4ICsxMDIsMTQgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgbWFjcm8ob3BfaW5pdF9nbG9iYWxfY29uc3QsIDUpIFwKICAgICBtYWNybyhv
cF9nZXRfYnlfaWQsIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAogICAgIG1hY3JvKG9w
X2dldF9ieV9pZF9vdXRfb2ZfbGluZSwgOSkgLyogaGFzIHZhbHVlIHByb2ZpbGluZyAqLyBcCi0g
ICAgbWFjcm8ob3BfZ2V0X2J5X2lkX3NlbGYsIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8g
XAotICAgIG1hY3JvKG9wX2dldF9ieV9pZF9wcm90bywgOSkgLyogaGFzIHZhbHVlIHByb2ZpbGlu
ZyAqLyBcCi0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2NoYWluLCA5KSAvKiBoYXMgdmFsdWUgcHJv
ZmlsaW5nICovIFwKLSAgICBtYWNybyhvcF9nZXRfYnlfaWRfZ2V0dGVyX3NlbGYsIDkpIC8qIGhh
cyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3JvKG9wX2dldF9ieV9pZF9nZXR0ZXJfcHJv
dG8sIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3JvKG9wX2dldF9ieV9p
ZF9nZXR0ZXJfY2hhaW4sIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3Jv
KG9wX2dldF9ieV9pZF9jdXN0b21fc2VsZiwgOSkgLyogaGFzIHZhbHVlIHByb2ZpbGluZyAqLyBc
Ci0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bywgOSkgLyogaGFzIHZhbHVlIHBy
b2ZpbGluZyAqLyBcCi0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2N1c3RvbV9jaGFpbiwgOSkgLyog
aGFzIHZhbHVlIHByb2ZpbGluZyAqLyBcCi0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2dlbmVyaWMs
IDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAogICAgIG1hY3JvKG9wX2dldF9hcnJheV9s
ZW5ndGgsIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3JvKG9wX2dldF9z
dHJpbmdfbGVuZ3RoLCA5KSAvKiBoYXMgdmFsdWUgcHJvZmlsaW5nICovIFwKICAgICBtYWNybyhv
cF9nZXRfYXJndW1lbnRzX2xlbmd0aCwgNCkgXAogICAgIG1hY3JvKG9wX3B1dF9ieV9pZCwgOSkg
XAogICAgIG1hY3JvKG9wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZSwgOSkgXAotICAgIG1hY3JvKG9w
X3B1dF9ieV9pZF90cmFuc2l0aW9uLCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5z
aXRpb25fZGlyZWN0LCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGly
ZWN0X291dF9vZl9saW5lLCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25f
bm9ybWFsLCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fbm9ybWFsX291
dF9vZl9saW5lLCA5KSBcCi0gICAgbWFjcm8ob3BfcHV0X2J5X2lkX3JlcGxhY2UsIDkpIFwKLSAg
ICBtYWNybyhvcF9wdXRfYnlfaWRfZ2VuZXJpYywgOSkgXAogICAgIG1hY3JvKG9wX2RlbF9ieV9p
ZCwgNCkgXAogICAgIG1hY3JvKG9wX2dldF9ieV92YWwsIDYpIC8qIGhhcyB2YWx1ZSBwcm9maWxp
bmcgKi8gXAogICAgIG1hY3JvKG9wX2dldF9hcmd1bWVudF9ieV92YWwsIDYpIC8qIG11c3QgYmUg
dGhlIHNhbWUgc2l6ZSBhcyBvcF9nZXRfYnlfdmFsICovIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0LmgJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QuaAkod29ya2luZyBjb3B5
KQpAQCAtNDYsNDUgKzQ2LDMxIEBAIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0cnVjdCBQ
b2x5bW9ycGhpY1N0dWJJbmZvIHsKLSAgICAgICAgYm9vbCBpc0NoYWluOwotICAgICAgICBib29s
IGlzRGlyZWN0OworICAgICAgICBib29sIGlzRGlyZWN0IDogMTsKKyAgICAgICAgdW5zaWduZWQg
Y291bnQgOiAzMTsKICAgICAgICAgUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBzdHViUm91dGluZTsK
ICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gYmFzZTsKLSAgICAgICAgdW5pb24gewot
ICAgICAgICAgICAgV3JpdGVCYXJyaWVyQmFzZTxTdHJ1Y3R1cmU+IHByb3RvOwotICAgICAgICAg
ICAgV3JpdGVCYXJyaWVyQmFzZTxTdHJ1Y3R1cmVDaGFpbj4gY2hhaW47Ci0gICAgICAgIH0gdTsK
KyAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZUNoYWluPiBjaGFpbjsKIAogICAgICAgICBQ
b2x5bW9ycGhpY1N0dWJJbmZvKCkKICAgICAgICAgewotICAgICAgICAgICAgdS5wcm90by5jbGVh
cigpOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBzZXQoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBQYXNzUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBfc3R1YlJvdXRpbmUsIFN0cnVjdHVyZSogX2Jh
c2UsIGJvb2wgX2lzRGlyZWN0KQogICAgICAgICB7CiAgICAgICAgICAgICBzdHViUm91dGluZSA9
IF9zdHViUm91dGluZTsKICAgICAgICAgICAgIGJhc2Uuc2V0KHZtLCBvd25lciwgX2Jhc2UpOwot
ICAgICAgICAgICAgdS5wcm90by5jbGVhcigpOwotICAgICAgICAgICAgaXNDaGFpbiA9IGZhbHNl
OwogICAgICAgICAgICAgaXNEaXJlY3QgPSBfaXNEaXJlY3Q7CisgICAgICAgICAgICBjb3VudCA9
IDA7CiAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICB2b2lkIHNldChWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIFBhc3NSZWZQdHI8SklUU3R1YlJvdXRpbmU+IF9zdHViUm91dGluZSwgU3Ry
dWN0dXJlKiBfYmFzZSwgU3RydWN0dXJlKiBfcHJvdG8sIGJvb2wgX2lzRGlyZWN0KQorICAgICAg
ICB2b2lkIHNldChWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFBhc3NSZWZQdHI8SklUU3R1YlJvdXRp
bmU+IF9zdHViUm91dGluZSwgU3RydWN0dXJlKiBfYmFzZSwgU3RydWN0dXJlQ2hhaW4qIF9jaGFp
biwgYm9vbCBfaXNEaXJlY3QsIHVuc2lnbmVkIF9jb3VudCkKICAgICAgICAgewogICAgICAgICAg
ICAgc3R1YlJvdXRpbmUgPSBfc3R1YlJvdXRpbmU7CiAgICAgICAgICAgICBiYXNlLnNldCh2bSwg
b3duZXIsIF9iYXNlKTsKLSAgICAgICAgICAgIHUucHJvdG8uc2V0KHZtLCBvd25lciwgX3Byb3Rv
KTsKLSAgICAgICAgICAgIGlzQ2hhaW4gPSBmYWxzZTsKLSAgICAgICAgICAgIGlzRGlyZWN0ID0g
X2lzRGlyZWN0OwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgdm9pZCBzZXQoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBQYXNzUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBfc3R1YlJvdXRp
bmUsIFN0cnVjdHVyZSogX2Jhc2UsIFN0cnVjdHVyZUNoYWluKiBfY2hhaW4sIGJvb2wgX2lzRGly
ZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBzdHViUm91dGluZSA9IF9zdHViUm91dGluZTsK
LSAgICAgICAgICAgIGJhc2Uuc2V0KHZtLCBvd25lciwgX2Jhc2UpOwotICAgICAgICAgICAgdS5j
aGFpbi5zZXQodm0sIG93bmVyLCBfY2hhaW4pOwotICAgICAgICAgICAgaXNDaGFpbiA9IHRydWU7
CisgICAgICAgICAgICBjaGFpbi5zZXQodm0sIG93bmVyLCBfY2hhaW4pOwogICAgICAgICAgICAg
aXNEaXJlY3QgPSBfaXNEaXJlY3Q7CisgICAgICAgICAgICBjb3VudCA9IF9jb3VudDsKICAgICAg
ICAgfQogICAgIH0gbGlzdFtQT0xZTU9SUEhJQ19MSVNUX0NBQ0hFX1NJWkVdOwogICAgICAgICAK
QEAgLTk3LDMzICs4MywyMSBAQCBwdWJsaWM6CiAgICAgICAgIGxpc3RbMF0uc2V0KHZtLCBvd25l
ciwgc3R1YlJvdXRpbmUsIGZpcnN0QmFzZSwgaXNEaXJlY3QpOwogICAgIH0KIAotICAgIFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdChWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFBhc3NSZWZQ
dHI8SklUU3R1YlJvdXRpbmU+IHN0dWJSb3V0aW5lLCBTdHJ1Y3R1cmUqIGZpcnN0QmFzZSwgU3Ry
dWN0dXJlKiBmaXJzdFByb3RvLCBib29sIGlzRGlyZWN0KQorICAgIFBvbHltb3JwaGljQWNjZXNz
U3RydWN0dXJlTGlzdChWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFBhc3NSZWZQdHI8SklUU3R1YlJv
dXRpbmU+IHN0dWJSb3V0aW5lLCBTdHJ1Y3R1cmUqIGZpcnN0QmFzZSwgU3RydWN0dXJlQ2hhaW4q
IGZpcnN0Q2hhaW4sIGJvb2wgaXNEaXJlY3QsIHVuc2lnbmVkIGNvdW50KQogICAgIHsKLSAgICAg
ICAgbGlzdFswXS5zZXQodm0sIG93bmVyLCBzdHViUm91dGluZSwgZmlyc3RCYXNlLCBmaXJzdFBy
b3RvLCBpc0RpcmVjdCk7Ci0gICAgfQotCi0gICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVM
aXN0KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUGFzc1JlZlB0cjxKSVRTdHViUm91dGluZT4gc3R1
YlJvdXRpbmUsIFN0cnVjdHVyZSogZmlyc3RCYXNlLCBTdHJ1Y3R1cmVDaGFpbiogZmlyc3RDaGFp
biwgYm9vbCBpc0RpcmVjdCkKLSAgICB7Ci0gICAgICAgIGxpc3RbMF0uc2V0KHZtLCBvd25lciwg
c3R1YlJvdXRpbmUsIGZpcnN0QmFzZSwgZmlyc3RDaGFpbiwgaXNEaXJlY3QpOworICAgICAgICBs
aXN0WzBdLnNldCh2bSwgb3duZXIsIHN0dWJSb3V0aW5lLCBmaXJzdEJhc2UsIGZpcnN0Q2hhaW4s
IGlzRGlyZWN0LCBjb3VudCk7CiAgICAgfQogCiAgICAgYm9vbCB2aXNpdFdlYWsoaW50IGNvdW50
KQogICAgIHsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAg
ICAgICAgICBQb2x5bW9ycGhpY1N0dWJJbmZvJiBpbmZvID0gbGlzdFtpXTsKLSAgICAgICAgICAg
IGlmICghaW5mby5iYXNlKSB7Ci0gICAgICAgICAgICAgICAgLy8gV2UncmUgYmVpbmcgbWFya2Vk
IGR1cmluZyBpbml0aWFsaXNhdGlvbiBvZiBhbiBlbnRyeQotICAgICAgICAgICAgICAgIEFTU0VS
VCghaW5mby51LnByb3RvKTsKKyAgICAgICAgICAgIGlmICghaW5mby5iYXNlKQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgaWYgKCFIZWFwOjppc01hcmtlZChpbmZvLmJhc2UuZ2V0KCkpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChpbmZvLnUucHJvdG8gJiYgIWluZm8u
aXNDaGFpbgotICAgICAgICAgICAgICAgICYmICFIZWFwOjppc01hcmtlZChpbmZvLnUucHJvdG8u
Z2V0KCkpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChp
bmZvLnUuY2hhaW4gJiYgaW5mby5pc0NoYWluCi0gICAgICAgICAgICAgICAgJiYgIUhlYXA6Omlz
TWFya2VkKGluZm8udS5jaGFpbi5nZXQoKSkpCisgICAgICAgICAgICBpZiAoaW5mby5jaGFpbiAm
JiAhSGVhcDo6aXNNYXJrZWQoaW5mby5jaGFpbi5nZXQoKSkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAkocmV2aXNp
b24gMTY0MDg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0
dWJJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDYgQEAgdm9pZCBTdHJ1Y3R1
cmVTdHViSW5mbzo6ZGVyZWYoKQogICAgICAgICBkZWxldGUgcG9seW1vcnBoaWNTdHJ1Y3R1cmVz
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9wcm90
b19saXN0OiB7Ci0gICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcG9seW1v
cnBoaWNTdHJ1Y3R1cmVzID0gdS5nZXRCeUlkUHJvdG9MaXN0LnN0cnVjdHVyZUxpc3Q7Ci0gICAg
ICAgIGRlbGV0ZSBwb2x5bW9ycGhpY1N0cnVjdHVyZXM7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
CiAgICAgY2FzZSBhY2Nlc3NfcHV0X2J5X2lkX2xpc3Q6CiAgICAgICAgIGRlbGV0ZSB1LnB1dEJ5
SWRMaXN0Lmxpc3Q7CiAgICAgICAgIHJldHVybjsKQEAgLTU1LDcgKzUwLDYgQEAgdm9pZCBTdHJ1
Y3R1cmVTdHViSW5mbzo6ZGVyZWYoKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2Ug
YWNjZXNzX2dldF9ieV9pZF9zZWxmOgotICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9wcm90bzoK
ICAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfY2hhaW46CiAgICAgY2FzZSBhY2Nlc3NfcHV0X2J5
X2lkX3RyYW5zaXRpb25fbm9ybWFsOgogICAgIGNhc2UgYWNjZXNzX3B1dF9ieV9pZF90cmFuc2l0
aW9uX2RpcmVjdDoKQEAgLTc5LDExICs3Myw2IEBAIGJvb2wgU3RydWN0dXJlU3R1YkluZm86OnZp
c2l0V2Vha1JlZmVyZW4KICAgICAgICAgaWYgKCFIZWFwOjppc01hcmtlZCh1LmdldEJ5SWRTZWxm
LmJhc2VPYmplY3RTdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG86Ci0gICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQodS5nZXRCeUlkUHJvdG8uYmFzZU9iamVjdFN0cnVjdHVyZS5n
ZXQoKSkKLSAgICAgICAgICAgIHx8ICFIZWFwOjppc01hcmtlZCh1LmdldEJ5SWRQcm90by5wcm90
b3R5cGVTdHJ1Y3R1cmUuZ2V0KCkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICBicmVhazsKICAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfY2hhaW46CiAgICAgICAgIGlmICgh
SGVhcDo6aXNNYXJrZWQodS5nZXRCeUlkQ2hhaW4uYmFzZU9iamVjdFN0cnVjdHVyZS5nZXQoKSkK
ICAgICAgICAgICAgIHx8ICFIZWFwOjppc01hcmtlZCh1LmdldEJ5SWRDaGFpbi5jaGFpbi5nZXQo
KSkpCkBAIC05NSwxMiArODQsNiBAQCBib29sIFN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdFdlYWtS
ZWZlcmVuCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
LSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG9fbGlzdDogewotICAgICAgICBQb2x5bW9y
cGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QqIHBvbHltb3JwaGljU3RydWN0dXJlcyA9IHUuZ2V0QnlJ
ZFByb3RvTGlzdC5zdHJ1Y3R1cmVMaXN0OwotICAgICAgICBpZiAoIXBvbHltb3JwaGljU3RydWN0
dXJlcy0+dmlzaXRXZWFrKHUuZ2V0QnlJZFByb3RvTGlzdC5saXN0U2l6ZSkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KICAgICBjYXNlIGFjY2Vzc19w
dXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWw6CiAgICAgY2FzZSBhY2Nlc3NfcHV0X2J5X2lkX3Ry
YW5zaXRpb25fZGlyZWN0OgogICAgICAgICBpZiAoIUhlYXA6OmlzTWFya2VkKHUucHV0QnlJZFRy
YW5zaXRpb24ucHJldmlvdXNTdHJ1Y3R1cmUuZ2V0KCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkocmV2aXNpb24gMTY0
MDg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZv
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDEwICs0Nyw4IEBAIGNsYXNzIFBvbHltb3JwaGljUHV0
QnlJZExpc3Q7CiAKIGVudW0gQWNjZXNzVHlwZSB7CiAgICAgYWNjZXNzX2dldF9ieV9pZF9zZWxm
LAotICAgIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG8sCiAgICAgYWNjZXNzX2dldF9ieV9pZF9jaGFp
biwKICAgICBhY2Nlc3NfZ2V0X2J5X2lkX3NlbGZfbGlzdCwKLSAgICBhY2Nlc3NfZ2V0X2J5X2lk
X3Byb3RvX2xpc3QsCiAgICAgYWNjZXNzX3B1dF9ieV9pZF90cmFuc2l0aW9uX25vcm1hbCwKICAg
ICBhY2Nlc3NfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0LAogICAgIGFjY2Vzc19wdXRfYnlf
aWRfcmVwbGFjZSwKQEAgLTY3LDEwICs2NSw4IEBAIGlubGluZSBib29sIGlzR2V0QnlJZEFjY2Vz
cyhBY2Nlc3NUeXBlIGEKIHsKICAgICBzd2l0Y2ggKGFjY2Vzc1R5cGUpIHsKICAgICBjYXNlIGFj
Y2Vzc19nZXRfYnlfaWRfc2VsZjoKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG86CiAg
ICAgY2FzZSBhY2Nlc3NfZ2V0X2J5X2lkX2NoYWluOgogICAgIGNhc2UgYWNjZXNzX2dldF9ieV9p
ZF9zZWxmX2xpc3Q6Ci0gICAgY2FzZSBhY2Nlc3NfZ2V0X2J5X2lkX3Byb3RvX2xpc3Q6CiAgICAg
Y2FzZSBhY2Nlc3NfZ2V0X2J5X2lkX2dlbmVyaWM6CiAgICAgY2FzZSBhY2Nlc3NfZ2V0X2FycmF5
X2xlbmd0aDoKICAgICBjYXNlIGFjY2Vzc19nZXRfc3RyaW5nX2xlbmd0aDoKQEAgLTEzOCwxNCAr
MTM0LDYgQEAgc3RydWN0IFN0cnVjdHVyZVN0dWJJbmZvIHsKICAgICAgICAgdS5nZXRCeUlkU2Vs
Zkxpc3QuZGlkU2VsZlBhdGNoaW5nID0gZGlkU2VsZlBhdGNoaW5nOwogICAgIH0KIAotICAgIHZv
aWQgaW5pdEdldEJ5SWRQcm90b0xpc3QoUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBz
dHJ1Y3R1cmVMaXN0LCBpbnQgbGlzdFNpemUpCi0gICAgewotICAgICAgICBhY2Nlc3NUeXBlID0g
YWNjZXNzX2dldF9ieV9pZF9wcm90b19saXN0OwotCi0gICAgICAgIHUuZ2V0QnlJZFByb3RvTGlz
dC5zdHJ1Y3R1cmVMaXN0ID0gc3RydWN0dXJlTGlzdDsKLSAgICAgICAgdS5nZXRCeUlkUHJvdG9M
aXN0Lmxpc3RTaXplID0gbGlzdFNpemU7Ci0gICAgfQotCiAgICAgLy8gUHV0QnlJZCoKIAogICAg
IHZvaWQgaW5pdFB1dEJ5SWRUcmFuc2l0aW9uKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgU3RydWN0
dXJlKiBwcmV2aW91c1N0cnVjdHVyZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNo
YWluKiBjaGFpbiwgYm9vbCBpc0RpcmVjdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjkwLDIyICsyOTAsNiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9yZXNvbHZlX3Njb3BlKQogICAg
ICAgICBERUZJTkVfT1Aob3BfZ2V0X2Zyb21fc2NvcGUpCiAgICAgICAgIERFRklORV9PUChvcF9w
dXRfdG9fc2NvcGUpCi0KLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfY2hhaW46Ci0gICAgICAg
IGNhc2Ugb3BfZ2V0X2J5X2lkX2dlbmVyaWM6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3By
b3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9zZWxmOgotICAgICAgICBjYXNlIG9wX2dl
dF9ieV9pZF9nZXR0ZXJfY2hhaW46Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2dldHRlcl9w
cm90bzoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX3NlbGY6Ci0gICAgICAgIGNh
c2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9jaGFpbjoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRf
Y3VzdG9tX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9jdXN0b21fc2VsZjoKLSAg
ICAgICAgY2FzZSBvcF9nZXRfc3RyaW5nX2xlbmd0aDoKLSAgICAgICAgY2FzZSBvcF9wdXRfYnlf
aWRfZ2VuZXJpYzoKLSAgICAgICAgY2FzZSBvcF9wdXRfYnlfaWRfcmVwbGFjZToKLSAgICAgICAg
Y2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbjoKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMTY0MDg5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAxLDcgKzUwMSw3IEBA
IHN0YXRpYyBib29sIGdldFBvbHltb3JwaGljU3RydWN0dXJlTGlzdCgKICAgICB9IGVsc2UgaWYg
KHN0dWJJbmZvLmFjY2Vzc1R5cGUgPT0gYWNjZXNzX2dldF9ieV9pZF9jaGFpbikgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghIXN0dWJJbmZvLnN0dWJSb3V0aW5lKTsKICAgICAgICAgc2xvd0Nh
c2UgPSBDb2RlTG9jYXRpb25MYWJlbChzdHViSW5mby5zdHViUm91dGluZS0+Y29kZSgpLmNvZGUo
KSk7Ci0gICAgICAgIHBvbHltb3JwaGljU3RydWN0dXJlTGlzdCA9IG5ldyBQb2x5bW9ycGhpY0Fj
Y2Vzc1N0cnVjdHVyZUxpc3QoKnZtLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBzdHVi
SW5mby5zdHViUm91dGluZSwgc3R1YkluZm8udS5nZXRCeUlkQ2hhaW4uYmFzZU9iamVjdFN0cnVj
dHVyZS5nZXQoKSwgc3R1YkluZm8udS5nZXRCeUlkQ2hhaW4uY2hhaW4uZ2V0KCksIHRydWUpOwor
ICAgICAgICBwb2x5bW9ycGhpY1N0cnVjdHVyZUxpc3QgPSBuZXcgUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0KCp2bSwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgc3R1YkluZm8u
c3R1YlJvdXRpbmUsIHN0dWJJbmZvLnUuZ2V0QnlJZENoYWluLmJhc2VPYmplY3RTdHJ1Y3R1cmUu
Z2V0KCksIHN0dWJJbmZvLnUuZ2V0QnlJZENoYWluLmNoYWluLmdldCgpLCBzdHViSW5mby51Lmdl
dEJ5SWRDaGFpbi5pc0RpcmVjdCwgc3R1YkluZm8udS5nZXRCeUlkQ2hhaW4uY291bnQpOwogICAg
ICAgICBzdHViSW5mby5zdHViUm91dGluZS5jbGVhcigpOwogICAgICAgICBzdHViSW5mby5pbml0
R2V0QnlJZFNlbGZMaXN0KHBvbHltb3JwaGljU3RydWN0dXJlTGlzdCwgMSwgZmFsc2UpOwogICAg
ICAgICBsaXN0SW5kZXggPSAxOwpAQCAtNzI2LDcgKzcyNiw3IEBAIHN0YXRpYyBib29sIHRyeUJ1
aWxkR2V0QnlJRExpc3QoRXhlY1N0YXQKICAgICAgICAgc2xvd0Nhc2UsIHN0dWJSb3V0aW5lKSA9
PSBQcm90b0NoYWluR2VuZXJhdGlvbkZhaWxlZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IAotICAgIHBvbHltb3JwaGljU3RydWN0dXJlTGlzdC0+bGlzdFtsaXN0SW5kZXhdLnNldCgqdm0s
IGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHN0dWJSb3V0aW5lLCBzdHJ1Y3R1cmUsIHNs
b3QuaXNDYWNoZWFibGVWYWx1ZSgpKTsKKyAgICBwb2x5bW9ycGhpY1N0cnVjdHVyZUxpc3QtPmxp
c3RbbGlzdEluZGV4XS5zZXQoKnZtLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBzdHVi
Um91dGluZSwgc3RydWN0dXJlLCBwcm90b3R5cGVDaGFpbiwgc2xvdC5pc0NhY2hlYWJsZVZhbHVl
KCksIGNvdW50KTsKICAgICAKICAgICBwYXRjaEp1bXBUb0dldEJ5SWRTdHViKGNvZGVCbG9jaywg
c3R1YkluZm8sIHN0dWJSb3V0aW5lLmdldCgpKTsKICAgICAK
</data>
<flag name="review"
          id="248245"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224157</attachid>
            <date>2014-02-13 20:57:06 -0800</date>
            <delta_ts>2014-02-13 20:57:06 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>25968</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MDkxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE0LTAyLTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
S2lsbCBzb21lIG9mIHRoZSBsYXN0IHZlc3RpZ2VzIG9mIHRoZSBDKysgaW50ZXJwcmV0ZXIncyBQ
SUNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg3
OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ5
dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OmNvbXB1dGVVc2VzRm9yQnl0
ZWNvZGVPZmZzZXQpOgorICAgICAgICAoSlNDOjpjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0
KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2Rl
QmxvY2s6OnByaW50R2V0QnlJZE9wKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpwcmludEdl
dEJ5SWRDYWNoZVN0YXR1cyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2Rl
KToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgorICAgICAgICAqIGJ5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAo
SlNDOjpwYWRPcGNvZGVOYW1lKToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vz
c1N0cnVjdHVyZUxpc3QuaDoKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1
cmVMaXN0OjpQb2x5bW9ycGhpY1N0dWJJbmZvOjpQb2x5bW9ycGhpY1N0dWJJbmZvKToKKyAgICAg
ICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0OjpQb2x5bW9ycGhpY1N0dWJJ
bmZvOjpzZXQpOgorICAgICAgICAoSlNDOjpQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Q6
OlBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCk6CisgICAgICAgIChKU0M6OlBvbHltb3Jw
aGljQWNjZXNzU3RydWN0dXJlTGlzdDo6dmlzaXRXZWFrKToKKyAgICAgICAgKiBieXRlY29kZS9T
dHJ1Y3R1cmVTdHViSW5mby5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvOjpk
ZXJlZik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdFdlYWtSZWZlcmVu
Y2VzKToKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAgICAo
SlNDOjppc0dldEJ5SWRBY2Nlc3MpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9SZXBhdGNo
LmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0UG9seW1vcnBoaWNTdHJ1Y3R1cmVMaXN0KToKKyAgICAg
ICAgKEpTQzo6dHJ5QnVpbGRHZXRCeUlETGlzdCk6CisKIDIwMTQtMDItMTMgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBKU0NvbnRhaW5lckNvbnZlcnRvciBh
bmQgT2JqY0NvbnRhaW5lckNvbnZlcnRvciBuZWVkIHRvIHByb3RlY3QgSlNWYWx1ZVJlZnMuIFBh
cnQgMi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURl
Zi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZVVzZURlZi5oCShyZXZpc2lvbiAxNjQwODkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAkod29ya2luZyBjb3B5KQpAQCAtOTksMTMgKzk5LDEwIEBA
IHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCgKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBjYXNlIG9wX3B1dF9ieV9pbmRleDoKLSAgICBjYXNlIG9wX3B1dF9ieV9pZF9yZXBs
YWNlOgotICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3RyYW5zaXRpb246CiAgICAgY2FzZSBvcF9wdXRf
YnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Q6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlv
bl9kaXJlY3Rfb3V0X29mX2xpbmU6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9u
b3JtYWw6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWxfb3V0X29mX2xp
bmU6Ci0gICAgY2FzZSBvcF9wdXRfYnlfaWRfZ2VuZXJpYzoKICAgICBjYXNlIG9wX3B1dF9ieV9p
ZF9vdXRfb2ZfbGluZToKICAgICBjYXNlIG9wX3B1dF9ieV9pZDoKICAgICBjYXNlIG9wX3B1dF90
b19zY29wZTogewpAQCAtMTI2LDE4ICsxMjMsNyBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNv
ZGVPZmZzZXQoCiAgICAgY2FzZSBvcF90b19wcmltaXRpdmU6CiAgICAgY2FzZSBvcF9nZXRfYnlf
aWQ6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWRfb3V0X29mX2xpbmU6Ci0gICAgY2FzZSBvcF9nZXRf
YnlfaWRfc2VsZjoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90bzoKLSAgICBjYXNlIG9wX2dl
dF9ieV9pZF9jaGFpbjoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfc2VsZjoKLSAgICBj
YXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfcHJvdG86Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0
dGVyX2NoYWluOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9zZWxmOgotICAgIGNhc2Ug
b3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bzoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9jdXN0b21f
Y2hhaW46Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2VuZXJpYzoKICAgICBjYXNlIG9wX2dldF9h
cnJheV9sZW5ndGg6Ci0gICAgY2FzZSBvcF9nZXRfc3RyaW5nX2xlbmd0aDoKICAgICBjYXNlIG9w
X2dldF9hcmd1bWVudHNfbGVuZ3RoOgogICAgIGNhc2Ugb3BfdHlwZW9mOgogICAgIGNhc2Ugb3Bf
aXNfdW5kZWZpbmVkOgpAQCAtMjkxLDEzICsyNzcsMTAgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5
dGVjb2RlT2Zmc2V0KENvZGVCbAogICAgIGNhc2Ugb3Bfc3dpdGNoX3N0cmluZzoKICAgICBjYXNl
IG9wX3B1dF9ieV9pZDoKICAgICBjYXNlIG9wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZToKLSAgICBj
YXNlIG9wX3B1dF9ieV9pZF9yZXBsYWNlOgotICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3RyYW5zaXRp
b246CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Q6CiAgICAgY2FzZSBv
cF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Rfb3V0X29mX2xpbmU6CiAgICAgY2FzZSBvcF9w
dXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWw6CiAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNp
dGlvbl9ub3JtYWxfb3V0X29mX2xpbmU6Ci0gICAgY2FzZSBvcF9wdXRfYnlfaWRfZ2VuZXJpYzoK
ICAgICBjYXNlIG9wX3B1dF9nZXR0ZXJfc2V0dGVyOgogICAgIGNhc2Ugb3BfcHV0X2J5X3ZhbDoK
ICAgICBjYXNlIG9wX3B1dF9ieV92YWxfZGlyZWN0OgpAQCAtMzMwLDE4ICszMTMsNyBAQCB2b2lk
IGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsCiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3Q6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWQ6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWRfb3V0X29m
X2xpbmU6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfc2VsZjoKLSAgICBjYXNlIG9wX2dldF9ieV9p
ZF9wcm90bzoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9jaGFpbjoKLSAgICBjYXNlIG9wX2dldF9i
eV9pZF9nZXR0ZXJfc2VsZjoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfcHJvdG86Ci0g
ICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX2NoYWluOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lk
X2N1c3RvbV9zZWxmOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bzoKLSAgICBj
YXNlIG9wX2dldF9ieV9pZF9jdXN0b21fY2hhaW46Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2Vu
ZXJpYzoKICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6Ci0gICAgY2FzZSBvcF9nZXRfc3Ry
aW5nX2xlbmd0aDoKICAgICBjYXNlIG9wX2NoZWNrX2hhc19pbnN0YW5jZToKICAgICBjYXNlIG9w
X2luc3RhbmNlb2Y6CiAgICAgY2FzZSBvcF9nZXRfYnlfdmFsOgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDE2NDA4OSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNjQsNDIgKzI2NCw5IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRPcChQ
cmludFN0cmUKICAgICBjYXNlIG9wX2dldF9ieV9pZF9vdXRfb2ZfbGluZToKICAgICAgICAgb3Ag
PSAiZ2V0X2J5X2lkX291dF9vZl9saW5lIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9n
ZXRfYnlfaWRfc2VsZjoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX3NlbGYiOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90bzoKLSAgICAgICAgb3AgPSAiZ2V0X2J5
X2lkX3Byb3RvIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfY2hhaW46
Ci0gICAgICAgIG9wID0gImdldF9ieV9pZF9jaGFpbiI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2Ugb3BfZ2V0X2J5X2lkX2dldHRlcl9zZWxmOgotICAgICAgICBvcCA9ICJnZXRfYnlfaWRfZ2V0
dGVyX3NlbGYiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJf
cHJvdG86Ci0gICAgICAgIG9wID0gImdldF9ieV9pZF9nZXR0ZXJfcHJvdG8iOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfY2hhaW46Ci0gICAgICAgIG9wID0g
ImdldF9ieV9pZF9nZXR0ZXJfY2hhaW4iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIG9wX2dl
dF9ieV9pZF9jdXN0b21fc2VsZjoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX2N1c3RvbV9zZWxm
IjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfY3VzdG9tX3Byb3RvOgot
ICAgICAgICBvcCA9ICJnZXRfYnlfaWRfY3VzdG9tX3Byb3RvIjsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBvcF9nZXRfYnlfaWRfY3VzdG9tX2NoYWluOgotICAgICAgICBvcCA9ICJnZXRfYnlf
aWRfY3VzdG9tX2NoYWluIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRf
Z2VuZXJpYzoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX2dlbmVyaWMiOwotICAgICAgICBicmVh
azsKICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgICAgIG9wID0gImFycmF5X2xl
bmd0aCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ugb3BfZ2V0X3N0cmluZ19sZW5ndGg6Ci0g
ICAgICAgIG9wID0gInN0cmluZ19sZW5ndGgiOwotICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBvcCA9IDA7
CkBAIC0zODIsMTEgKzM0OSw2IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRDYWNoZVN0
YXR1cygKICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJzZWxmIik7CiAgICAgICAgICAgICAg
ICAgYmFzZVN0cnVjdHVyZSA9IHN0dWJJbmZvLnUuZ2V0QnlJZFNlbGYuYmFzZU9iamVjdFN0cnVj
dHVyZS5nZXQoKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgYWNj
ZXNzX2dldF9ieV9pZF9wcm90bzoKLSAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJwcm90byIp
OwotICAgICAgICAgICAgICAgIGJhc2VTdHJ1Y3R1cmUgPSBzdHViSW5mby51LmdldEJ5SWRQcm90
by5iYXNlT2JqZWN0U3RydWN0dXJlLmdldCgpOwotICAgICAgICAgICAgICAgIHByb3RvdHlwZVN0
cnVjdHVyZSA9IHN0dWJJbmZvLnUuZ2V0QnlJZFByb3RvLnByb3RvdHlwZVN0cnVjdHVyZS5nZXQo
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgYWNjZXNzX2dldF9i
eV9pZF9jaGFpbjoKICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJjaGFpbiIpOwogICAgICAg
ICAgICAgICAgIGJhc2VTdHJ1Y3R1cmUgPSBzdHViSW5mby51LmdldEJ5SWRDaGFpbi5iYXNlT2Jq
ZWN0U3RydWN0dXJlLmdldCgpOwpAQCAtMzk3LDExICszNTksNiBAQCB2b2lkIENvZGVCbG9jazo6
cHJpbnRHZXRCeUlkQ2FjaGVTdGF0dXMoCiAgICAgICAgICAgICAgICAgc3RydWN0dXJlTGlzdCA9
IHN0dWJJbmZvLnUuZ2V0QnlJZFNlbGZMaXN0LnN0cnVjdHVyZUxpc3Q7CiAgICAgICAgICAgICAg
ICAgbGlzdFNpemUgPSBzdHViSW5mby51LmdldEJ5SWRTZWxmTGlzdC5saXN0U2l6ZTsKICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9wcm90
b19saXN0OgotICAgICAgICAgICAgICAgIG91dC5wcmludGYoInByb3RvX2xpc3QiKTsKLSAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmVMaXN0ID0gc3R1YkluZm8udS5nZXRCeUlkUHJvdG9MaXN0LnN0
cnVjdHVyZUxpc3Q7Ci0gICAgICAgICAgICAgICAgbGlzdFNpemUgPSBzdHViSW5mby51LmdldEJ5
SWRQcm90b0xpc3QubGlzdFNpemU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjYXNlIGFjY2Vzc191bnNldDoKICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCJ1bnNldCIp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDQxLDE2ICszOTgsOSBAQCB2b2lkIENvZGVC
bG9jazo6cHJpbnRHZXRCeUlkQ2FjaGVTdGF0dXMoCiAgICAgICAgICAgICAgICAgICAgICAgICBv
dXQucHJpbnRmKCIsICIpOwogICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnRmKCIoIik7CiAg
ICAgICAgICAgICAgICAgICAgIGR1bXBTdHJ1Y3R1cmUob3V0LCAiYmFzZSIsIGV4ZWMsIHN0cnVj
dHVyZUxpc3QtPmxpc3RbaV0uYmFzZS5nZXQoKSwgaWRlbnQpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlTGlzdC0+bGlzdFtpXS5pc0NoYWluKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoc3RydWN0dXJlTGlzdC0+bGlzdFtpXS51LmNoYWluLmdldCgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50ZigiLCAiKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkdW1wQ2hhaW4ob3V0LCBleGVjLCBzdHJ1Y3R1cmVMaXN0LT5saXN0W2ld
LnUuY2hhaW4uZ2V0KCksIGlkZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1
Y3R1cmVMaXN0LT5saXN0W2ldLnUucHJvdG8uZ2V0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvdXQucHJpbnRmKCIsICIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1
bXBTdHJ1Y3R1cmUob3V0LCAicHJvdG8iLCBleGVjLCBzdHJ1Y3R1cmVMaXN0LT5saXN0W2ldLnUu
cHJvdG8uZ2V0KCksIGlkZW50KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0cnVjdHVyZUxpc3QtPmxpc3RbaV0uY2hhaW4uZ2V0KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG91dC5wcmludGYoIiwgIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICBkdW1wQ2hhaW4ob3V0LCBleGVjLCBzdHJ1Y3R1cmVMaXN0LT5saXN0W2ldLmNoYWlu
LmdldCgpLCBpZGVudCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgb3V0LnByaW50ZigiKSIpOwogICAgICAgICAgICAgICAgIH0KQEAgLTk2NywxOCArOTE3LDcg
QEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQcmludFN0cmVhbQogICAgICAgICB9CiAg
ICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgogICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9vdXRf
b2ZfbGluZToKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfc2VsZjoKLSAgICAgICAgY2FzZSBv
cF9nZXRfYnlfaWRfcHJvdG86Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2NoYWluOgotICAg
ICAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfc2VsZjoKLSAgICAgICAgY2FzZSBvcF9nZXRf
YnlfaWRfZ2V0dGVyX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9nZXR0ZXJfY2hh
aW46Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9zZWxmOgotICAgICAgICBjYXNl
IG9wX2dldF9ieV9pZF9jdXN0b21fcHJvdG86Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2N1
c3RvbV9jaGFpbjoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2VuZXJpYzoKLSAgICAgICAg
Y2FzZSBvcF9nZXRfYXJyYXlfbGVuZ3RoOgotICAgICAgICBjYXNlIG9wX2dldF9zdHJpbmdfbGVu
Z3RoOiB7CisgICAgICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDogewogICAgICAgICAgICAg
cHJpbnRHZXRCeUlkT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQpOwogICAgICAgICAgICAgcHJp
bnRHZXRCeUlkQ2FjaGVTdGF0dXMob3V0LCBleGVjLCBsb2NhdGlvbiwgbWFwKTsKICAgICAgICAg
ICAgIGR1bXBWYWx1ZVByb2ZpbGluZyhvdXQsIGl0LCBoYXNQcmludGVkUHJvZmlsaW5nKTsKQEAg
LTk5NywxNCArOTM2LDYgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQcmludFN0cmVh
bQogICAgICAgICAgICAgcHJpbnRQdXRCeUlkT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJw
dXRfYnlfaWRfb3V0X29mX2xpbmUiKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0g
ICAgICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3JlcGxhY2U6IHsKLSAgICAgICAgICAgIHByaW50UHV0
QnlJZE9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAicHV0X2J5X2lkX3JlcGxhY2UiKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3Ry
YW5zaXRpb246IHsKLSAgICAgICAgICAgIHByaW50UHV0QnlJZE9wKG91dCwgZXhlYywgbG9jYXRp
b24sIGl0LCAicHV0X2J5X2lkX3RyYW5zaXRpb24iKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9CiAgICAgICAgIGNhc2Ugb3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0OiB7CiAg
ICAgICAgICAgICBwcmludFB1dEJ5SWRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgInB1dF9i
eV9pZF90cmFuc2l0aW9uX2RpcmVjdCIpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMDIxLDEw
ICs5NTIsNiBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKFByaW50U3RyZWFtCiAgICAg
ICAgICAgICBwcmludFB1dEJ5SWRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgInB1dF9ieV9p
ZF90cmFuc2l0aW9uX25vcm1hbF9vdXRfb2ZfbGluZSIpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF9wdXRfYnlfaWRfZ2VuZXJpYzogewotICAgICAgICAg
ICAgcHJpbnRQdXRCeUlkT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJwdXRfYnlfaWRfZ2Vu
ZXJpYyIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9w
dXRfZ2V0dGVyX3NldHRlcjogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CiAgICAgICAgICAgICBpbnQgaWQwID0gKCsraXQpLT51Lm9wZXJhbmQ7CkBAIC0xNzc4LDE4
ICsxNzA1LDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJsZSogbwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfb3V0
X29mX2xpbmU6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3NlbGY6Ci0gICAgICAgIGNhc2Ug
b3BfZ2V0X2J5X2lkX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9jaGFpbjoKLSAg
ICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX3NlbGY6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0
X2J5X2lkX2dldHRlcl9wcm90bzoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX2No
YWluOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9jdXN0b21fc2VsZjoKLSAgICAgICAgY2Fz
ZSBvcF9nZXRfYnlfaWRfY3VzdG9tX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9j
dXN0b21fY2hhaW46Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2dlbmVyaWM6CiAgICAgICAg
IGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDoKLSAgICAgICAgY2FzZSBvcF9nZXRfc3RyaW5nX2xl
bmd0aDoKICAgICAgICAgICAgIENSQVNIKCk7CiAKICAgICAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdF9ub3A6IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYx
LDI1ICsxNjEsMTUgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwog
ICAgIGlmIChzdHViSW5mby0+cmVzZXRCeUdDKQogICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1
cyhUYWtlc1Nsb3dQYXRoLCB0cnVlKTsKIAotICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJl
TGlzdCogbGlzdDsKLSAgICBpbnQgbGlzdFNpemU7Ci0gICAgc3dpdGNoIChzdHViSW5mby0+YWNj
ZXNzVHlwZSkgewotICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9zZWxmX2xpc3Q6CisgICAgUG9s
eW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBsaXN0ID0gMDsKKyAgICBpbnQgbGlzdFNpemUg
PSAwOworICAgIGlmIChzdHViSW5mby0+YWNjZXNzVHlwZSA9PSBhY2Nlc3NfZ2V0X2J5X2lkX3Nl
bGZfbGlzdCkgewogICAgICAgICBsaXN0ID0gc3R1YkluZm8tPnUuZ2V0QnlJZFNlbGZMaXN0LnN0
cnVjdHVyZUxpc3Q7CiAgICAgICAgIGxpc3RTaXplID0gc3R1YkluZm8tPnUuZ2V0QnlJZFNlbGZM
aXN0Lmxpc3RTaXplOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRf
cHJvdG9fbGlzdDoKLSAgICAgICAgbGlzdCA9IHN0dWJJbmZvLT51LmdldEJ5SWRQcm90b0xpc3Qu
c3RydWN0dXJlTGlzdDsKLSAgICAgICAgbGlzdFNpemUgPSBzdHViSW5mby0+dS5nZXRCeUlkUHJv
dG9MaXN0Lmxpc3RTaXplOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBs
aXN0ID0gMDsKLSAgICAgICAgbGlzdFNpemUgPSAwOwotICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgIGlmICghbGlz
dC0+bGlzdFtpXS5pc0RpcmVjdCkKLSAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKE1h
a2VzQ2FsbHMsIHRydWUpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxpc3RTaXplOyAr
K2kpIHsKKyAgICAgICAgICAgIGlmICghbGlzdC0+bGlzdFtpXS5pc0RpcmVjdCkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhNYWtlc0NhbGxzLCB0cnVlKTsKKyAgICAgICAg
fQogICAgIH0KICAgICAKICAgICAvLyBGaW5hbGx5IGZpZ3VyZSBvdXQgaWYgd2UgY2FuIGRlcml2
ZSBhbiBhY2Nlc3Mgc3RyYXRlZ3kuCkBAIC0yNTAsMTcgKzI0MCw2IEBAIEdldEJ5SWRTdGF0dXMg
R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAg
ICAKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG86IHsKLSAgICAgICAgaWYgKCFzdHVi
SW5mby0+dS5nZXRCeUlkUHJvdG8uaXNEaXJlY3QpCi0gICAgICAgICAgICByZXR1cm4gR2V0QnlJ
ZFN0YXR1cyhNYWtlc0NhbGxzLCB0cnVlKTsKLSAgICAgICAgcmVzdWx0Lm1fY2hhaW4gPSBhZG9w
dFJlZihuZXcgSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbigKLSAgICAgICAgICAgIHByb2ZpbGVkQmxv
Y2ssCi0gICAgICAgICAgICBzdHViSW5mby0+dS5nZXRCeUlkUHJvdG8uYmFzZU9iamVjdFN0cnVj
dHVyZS5nZXQoKSwKLSAgICAgICAgICAgIHN0dWJJbmZvLT51LmdldEJ5SWRQcm90by5wcm90b3R5
cGVTdHJ1Y3R1cmUuZ2V0KCkpKTsKLSAgICAgICAgY29tcHV0ZUZvckNoYWluKHJlc3VsdCwgcHJv
ZmlsZWRCbG9jaywgdWlkKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgICAgICAKICAgICBj
YXNlIGFjY2Vzc19nZXRfYnlfaWRfY2hhaW46IHsKICAgICAgICAgaWYgKCFzdHViSW5mby0+dS5n
ZXRCeUlkQ2hhaW4uaXNEaXJlY3QpCiAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhN
YWtlc0NhbGxzLCB0cnVlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmgJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9PcGNvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDI4ICsxMDIsMTQgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgbWFjcm8ob3BfaW5pdF9nbG9iYWxfY29uc3QsIDUpIFwKICAgICBtYWNybyhv
cF9nZXRfYnlfaWQsIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAogICAgIG1hY3JvKG9w
X2dldF9ieV9pZF9vdXRfb2ZfbGluZSwgOSkgLyogaGFzIHZhbHVlIHByb2ZpbGluZyAqLyBcCi0g
ICAgbWFjcm8ob3BfZ2V0X2J5X2lkX3NlbGYsIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8g
XAotICAgIG1hY3JvKG9wX2dldF9ieV9pZF9wcm90bywgOSkgLyogaGFzIHZhbHVlIHByb2ZpbGlu
ZyAqLyBcCi0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2NoYWluLCA5KSAvKiBoYXMgdmFsdWUgcHJv
ZmlsaW5nICovIFwKLSAgICBtYWNybyhvcF9nZXRfYnlfaWRfZ2V0dGVyX3NlbGYsIDkpIC8qIGhh
cyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3JvKG9wX2dldF9ieV9pZF9nZXR0ZXJfcHJv
dG8sIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3JvKG9wX2dldF9ieV9p
ZF9nZXR0ZXJfY2hhaW4sIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3Jv
KG9wX2dldF9ieV9pZF9jdXN0b21fc2VsZiwgOSkgLyogaGFzIHZhbHVlIHByb2ZpbGluZyAqLyBc
Ci0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bywgOSkgLyogaGFzIHZhbHVlIHBy
b2ZpbGluZyAqLyBcCi0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2N1c3RvbV9jaGFpbiwgOSkgLyog
aGFzIHZhbHVlIHByb2ZpbGluZyAqLyBcCi0gICAgbWFjcm8ob3BfZ2V0X2J5X2lkX2dlbmVyaWMs
IDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAogICAgIG1hY3JvKG9wX2dldF9hcnJheV9s
ZW5ndGgsIDkpIC8qIGhhcyB2YWx1ZSBwcm9maWxpbmcgKi8gXAotICAgIG1hY3JvKG9wX2dldF9z
dHJpbmdfbGVuZ3RoLCA5KSAvKiBoYXMgdmFsdWUgcHJvZmlsaW5nICovIFwKICAgICBtYWNybyhv
cF9nZXRfYXJndW1lbnRzX2xlbmd0aCwgNCkgXAogICAgIG1hY3JvKG9wX3B1dF9ieV9pZCwgOSkg
XAogICAgIG1hY3JvKG9wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZSwgOSkgXAotICAgIG1hY3JvKG9w
X3B1dF9ieV9pZF90cmFuc2l0aW9uLCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5z
aXRpb25fZGlyZWN0LCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGly
ZWN0X291dF9vZl9saW5lLCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25f
bm9ybWFsLCA5KSBcCiAgICAgbWFjcm8ob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fbm9ybWFsX291
dF9vZl9saW5lLCA5KSBcCi0gICAgbWFjcm8ob3BfcHV0X2J5X2lkX3JlcGxhY2UsIDkpIFwKLSAg
ICBtYWNybyhvcF9wdXRfYnlfaWRfZ2VuZXJpYywgOSkgXAogICAgIG1hY3JvKG9wX2RlbF9ieV9p
ZCwgNCkgXAogICAgIG1hY3JvKG9wX2dldF9ieV92YWwsIDYpIC8qIGhhcyB2YWx1ZSBwcm9maWxp
bmcgKi8gXAogICAgIG1hY3JvKG9wX2dldF9hcmd1bWVudF9ieV92YWwsIDYpIC8qIG11c3QgYmUg
dGhlIHNhbWUgc2l6ZSBhcyBvcF9nZXRfYnlfdmFsICovIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0LmgJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QuaAkod29ya2luZyBjb3B5
KQpAQCAtNDYsNDUgKzQ2LDMxIEBAIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0cnVjdCBQ
b2x5bW9ycGhpY1N0dWJJbmZvIHsKLSAgICAgICAgYm9vbCBpc0NoYWluOwotICAgICAgICBib29s
IGlzRGlyZWN0OworICAgICAgICBib29sIGlzRGlyZWN0IDogMTsKKyAgICAgICAgdW5zaWduZWQg
Y291bnQgOiAzMTsKICAgICAgICAgUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBzdHViUm91dGluZTsK
ICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gYmFzZTsKLSAgICAgICAgdW5pb24gewot
ICAgICAgICAgICAgV3JpdGVCYXJyaWVyQmFzZTxTdHJ1Y3R1cmU+IHByb3RvOwotICAgICAgICAg
ICAgV3JpdGVCYXJyaWVyQmFzZTxTdHJ1Y3R1cmVDaGFpbj4gY2hhaW47Ci0gICAgICAgIH0gdTsK
KyAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZUNoYWluPiBjaGFpbjsKIAogICAgICAgICBQ
b2x5bW9ycGhpY1N0dWJJbmZvKCkKICAgICAgICAgewotICAgICAgICAgICAgdS5wcm90by5jbGVh
cigpOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBzZXQoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBQYXNzUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBfc3R1YlJvdXRpbmUsIFN0cnVjdHVyZSogX2Jh
c2UsIGJvb2wgX2lzRGlyZWN0KQogICAgICAgICB7CiAgICAgICAgICAgICBzdHViUm91dGluZSA9
IF9zdHViUm91dGluZTsKICAgICAgICAgICAgIGJhc2Uuc2V0KHZtLCBvd25lciwgX2Jhc2UpOwot
ICAgICAgICAgICAgdS5wcm90by5jbGVhcigpOwotICAgICAgICAgICAgaXNDaGFpbiA9IGZhbHNl
OwogICAgICAgICAgICAgaXNEaXJlY3QgPSBfaXNEaXJlY3Q7CisgICAgICAgICAgICBjb3VudCA9
IDA7CiAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICB2b2lkIHNldChWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIFBhc3NSZWZQdHI8SklUU3R1YlJvdXRpbmU+IF9zdHViUm91dGluZSwgU3Ry
dWN0dXJlKiBfYmFzZSwgU3RydWN0dXJlKiBfcHJvdG8sIGJvb2wgX2lzRGlyZWN0KQorICAgICAg
ICB2b2lkIHNldChWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFBhc3NSZWZQdHI8SklUU3R1YlJvdXRp
bmU+IF9zdHViUm91dGluZSwgU3RydWN0dXJlKiBfYmFzZSwgU3RydWN0dXJlQ2hhaW4qIF9jaGFp
biwgYm9vbCBfaXNEaXJlY3QsIHVuc2lnbmVkIF9jb3VudCkKICAgICAgICAgewogICAgICAgICAg
ICAgc3R1YlJvdXRpbmUgPSBfc3R1YlJvdXRpbmU7CiAgICAgICAgICAgICBiYXNlLnNldCh2bSwg
b3duZXIsIF9iYXNlKTsKLSAgICAgICAgICAgIHUucHJvdG8uc2V0KHZtLCBvd25lciwgX3Byb3Rv
KTsKLSAgICAgICAgICAgIGlzQ2hhaW4gPSBmYWxzZTsKLSAgICAgICAgICAgIGlzRGlyZWN0ID0g
X2lzRGlyZWN0OwotICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgdm9pZCBzZXQoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBQYXNzUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBfc3R1YlJvdXRp
bmUsIFN0cnVjdHVyZSogX2Jhc2UsIFN0cnVjdHVyZUNoYWluKiBfY2hhaW4sIGJvb2wgX2lzRGly
ZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBzdHViUm91dGluZSA9IF9zdHViUm91dGluZTsK
LSAgICAgICAgICAgIGJhc2Uuc2V0KHZtLCBvd25lciwgX2Jhc2UpOwotICAgICAgICAgICAgdS5j
aGFpbi5zZXQodm0sIG93bmVyLCBfY2hhaW4pOwotICAgICAgICAgICAgaXNDaGFpbiA9IHRydWU7
CisgICAgICAgICAgICBjaGFpbi5zZXQodm0sIG93bmVyLCBfY2hhaW4pOwogICAgICAgICAgICAg
aXNEaXJlY3QgPSBfaXNEaXJlY3Q7CisgICAgICAgICAgICBjb3VudCA9IF9jb3VudDsKICAgICAg
ICAgfQogICAgIH0gbGlzdFtQT0xZTU9SUEhJQ19MSVNUX0NBQ0hFX1NJWkVdOwogICAgICAgICAK
QEAgLTk3LDMzICs4MywyMSBAQCBwdWJsaWM6CiAgICAgICAgIGxpc3RbMF0uc2V0KHZtLCBvd25l
ciwgc3R1YlJvdXRpbmUsIGZpcnN0QmFzZSwgaXNEaXJlY3QpOwogICAgIH0KIAotICAgIFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdChWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFBhc3NSZWZQ
dHI8SklUU3R1YlJvdXRpbmU+IHN0dWJSb3V0aW5lLCBTdHJ1Y3R1cmUqIGZpcnN0QmFzZSwgU3Ry
dWN0dXJlKiBmaXJzdFByb3RvLCBib29sIGlzRGlyZWN0KQorICAgIFBvbHltb3JwaGljQWNjZXNz
U3RydWN0dXJlTGlzdChWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFBhc3NSZWZQdHI8SklUU3R1YlJv
dXRpbmU+IHN0dWJSb3V0aW5lLCBTdHJ1Y3R1cmUqIGZpcnN0QmFzZSwgU3RydWN0dXJlQ2hhaW4q
IGZpcnN0Q2hhaW4sIGJvb2wgaXNEaXJlY3QsIHVuc2lnbmVkIGNvdW50KQogICAgIHsKLSAgICAg
ICAgbGlzdFswXS5zZXQodm0sIG93bmVyLCBzdHViUm91dGluZSwgZmlyc3RCYXNlLCBmaXJzdFBy
b3RvLCBpc0RpcmVjdCk7Ci0gICAgfQotCi0gICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVM
aXN0KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUGFzc1JlZlB0cjxKSVRTdHViUm91dGluZT4gc3R1
YlJvdXRpbmUsIFN0cnVjdHVyZSogZmlyc3RCYXNlLCBTdHJ1Y3R1cmVDaGFpbiogZmlyc3RDaGFp
biwgYm9vbCBpc0RpcmVjdCkKLSAgICB7Ci0gICAgICAgIGxpc3RbMF0uc2V0KHZtLCBvd25lciwg
c3R1YlJvdXRpbmUsIGZpcnN0QmFzZSwgZmlyc3RDaGFpbiwgaXNEaXJlY3QpOworICAgICAgICBs
aXN0WzBdLnNldCh2bSwgb3duZXIsIHN0dWJSb3V0aW5lLCBmaXJzdEJhc2UsIGZpcnN0Q2hhaW4s
IGlzRGlyZWN0LCBjb3VudCk7CiAgICAgfQogCiAgICAgYm9vbCB2aXNpdFdlYWsoaW50IGNvdW50
KQogICAgIHsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAg
ICAgICAgICBQb2x5bW9ycGhpY1N0dWJJbmZvJiBpbmZvID0gbGlzdFtpXTsKLSAgICAgICAgICAg
IGlmICghaW5mby5iYXNlKSB7Ci0gICAgICAgICAgICAgICAgLy8gV2UncmUgYmVpbmcgbWFya2Vk
IGR1cmluZyBpbml0aWFsaXNhdGlvbiBvZiBhbiBlbnRyeQotICAgICAgICAgICAgICAgIEFTU0VS
VCghaW5mby51LnByb3RvKTsKKyAgICAgICAgICAgIGlmICghaW5mby5iYXNlKQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgaWYgKCFIZWFwOjppc01hcmtlZChpbmZvLmJhc2UuZ2V0KCkpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChpbmZvLnUucHJvdG8gJiYgIWluZm8u
aXNDaGFpbgotICAgICAgICAgICAgICAgICYmICFIZWFwOjppc01hcmtlZChpbmZvLnUucHJvdG8u
Z2V0KCkpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChp
bmZvLnUuY2hhaW4gJiYgaW5mby5pc0NoYWluCi0gICAgICAgICAgICAgICAgJiYgIUhlYXA6Omlz
TWFya2VkKGluZm8udS5jaGFpbi5nZXQoKSkpCisgICAgICAgICAgICBpZiAoaW5mby5jaGFpbiAm
JiAhSGVhcDo6aXNNYXJrZWQoaW5mby5jaGFpbi5nZXQoKSkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAkocmV2aXNp
b24gMTY0MDg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0
dWJJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDYgQEAgdm9pZCBTdHJ1Y3R1
cmVTdHViSW5mbzo6ZGVyZWYoKQogICAgICAgICBkZWxldGUgcG9seW1vcnBoaWNTdHJ1Y3R1cmVz
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9wcm90
b19saXN0OiB7Ci0gICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcG9seW1v
cnBoaWNTdHJ1Y3R1cmVzID0gdS5nZXRCeUlkUHJvdG9MaXN0LnN0cnVjdHVyZUxpc3Q7Ci0gICAg
ICAgIGRlbGV0ZSBwb2x5bW9ycGhpY1N0cnVjdHVyZXM7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
CiAgICAgY2FzZSBhY2Nlc3NfcHV0X2J5X2lkX2xpc3Q6CiAgICAgICAgIGRlbGV0ZSB1LnB1dEJ5
SWRMaXN0Lmxpc3Q7CiAgICAgICAgIHJldHVybjsKQEAgLTU1LDcgKzUwLDYgQEAgdm9pZCBTdHJ1
Y3R1cmVTdHViSW5mbzo6ZGVyZWYoKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2Ug
YWNjZXNzX2dldF9ieV9pZF9zZWxmOgotICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9wcm90bzoK
ICAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfY2hhaW46CiAgICAgY2FzZSBhY2Nlc3NfcHV0X2J5
X2lkX3RyYW5zaXRpb25fbm9ybWFsOgogICAgIGNhc2UgYWNjZXNzX3B1dF9ieV9pZF90cmFuc2l0
aW9uX2RpcmVjdDoKQEAgLTc5LDExICs3Myw2IEBAIGJvb2wgU3RydWN0dXJlU3R1YkluZm86OnZp
c2l0V2Vha1JlZmVyZW4KICAgICAgICAgaWYgKCFIZWFwOjppc01hcmtlZCh1LmdldEJ5SWRTZWxm
LmJhc2VPYmplY3RTdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG86Ci0gICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQodS5nZXRCeUlkUHJvdG8uYmFzZU9iamVjdFN0cnVjdHVyZS5n
ZXQoKSkKLSAgICAgICAgICAgIHx8ICFIZWFwOjppc01hcmtlZCh1LmdldEJ5SWRQcm90by5wcm90
b3R5cGVTdHJ1Y3R1cmUuZ2V0KCkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICBicmVhazsKICAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfY2hhaW46CiAgICAgICAgIGlmICgh
SGVhcDo6aXNNYXJrZWQodS5nZXRCeUlkQ2hhaW4uYmFzZU9iamVjdFN0cnVjdHVyZS5nZXQoKSkK
ICAgICAgICAgICAgIHx8ICFIZWFwOjppc01hcmtlZCh1LmdldEJ5SWRDaGFpbi5jaGFpbi5nZXQo
KSkpCkBAIC05NSwxMiArODQsNiBAQCBib29sIFN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdFdlYWtS
ZWZlcmVuCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
LSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG9fbGlzdDogewotICAgICAgICBQb2x5bW9y
cGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QqIHBvbHltb3JwaGljU3RydWN0dXJlcyA9IHUuZ2V0QnlJ
ZFByb3RvTGlzdC5zdHJ1Y3R1cmVMaXN0OwotICAgICAgICBpZiAoIXBvbHltb3JwaGljU3RydWN0
dXJlcy0+dmlzaXRXZWFrKHUuZ2V0QnlJZFByb3RvTGlzdC5saXN0U2l6ZSkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KICAgICBjYXNlIGFjY2Vzc19w
dXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWw6CiAgICAgY2FzZSBhY2Nlc3NfcHV0X2J5X2lkX3Ry
YW5zaXRpb25fZGlyZWN0OgogICAgICAgICBpZiAoIUhlYXA6OmlzTWFya2VkKHUucHV0QnlJZFRy
YW5zaXRpb24ucHJldmlvdXNTdHJ1Y3R1cmUuZ2V0KCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkocmV2aXNpb24gMTY0
MDg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZv
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDEwICs0Nyw4IEBAIGNsYXNzIFBvbHltb3JwaGljUHV0
QnlJZExpc3Q7CiAKIGVudW0gQWNjZXNzVHlwZSB7CiAgICAgYWNjZXNzX2dldF9ieV9pZF9zZWxm
LAotICAgIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG8sCiAgICAgYWNjZXNzX2dldF9ieV9pZF9jaGFp
biwKICAgICBhY2Nlc3NfZ2V0X2J5X2lkX3NlbGZfbGlzdCwKLSAgICBhY2Nlc3NfZ2V0X2J5X2lk
X3Byb3RvX2xpc3QsCiAgICAgYWNjZXNzX3B1dF9ieV9pZF90cmFuc2l0aW9uX25vcm1hbCwKICAg
ICBhY2Nlc3NfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0LAogICAgIGFjY2Vzc19wdXRfYnlf
aWRfcmVwbGFjZSwKQEAgLTY3LDEwICs2NSw4IEBAIGlubGluZSBib29sIGlzR2V0QnlJZEFjY2Vz
cyhBY2Nlc3NUeXBlIGEKIHsKICAgICBzd2l0Y2ggKGFjY2Vzc1R5cGUpIHsKICAgICBjYXNlIGFj
Y2Vzc19nZXRfYnlfaWRfc2VsZjoKLSAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfcHJvdG86CiAg
ICAgY2FzZSBhY2Nlc3NfZ2V0X2J5X2lkX2NoYWluOgogICAgIGNhc2UgYWNjZXNzX2dldF9ieV9p
ZF9zZWxmX2xpc3Q6Ci0gICAgY2FzZSBhY2Nlc3NfZ2V0X2J5X2lkX3Byb3RvX2xpc3Q6CiAgICAg
Y2FzZSBhY2Nlc3NfZ2V0X2J5X2lkX2dlbmVyaWM6CiAgICAgY2FzZSBhY2Nlc3NfZ2V0X2FycmF5
X2xlbmd0aDoKICAgICBjYXNlIGFjY2Vzc19nZXRfc3RyaW5nX2xlbmd0aDoKQEAgLTEzOCwxNCAr
MTM0LDYgQEAgc3RydWN0IFN0cnVjdHVyZVN0dWJJbmZvIHsKICAgICAgICAgdS5nZXRCeUlkU2Vs
Zkxpc3QuZGlkU2VsZlBhdGNoaW5nID0gZGlkU2VsZlBhdGNoaW5nOwogICAgIH0KIAotICAgIHZv
aWQgaW5pdEdldEJ5SWRQcm90b0xpc3QoUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBz
dHJ1Y3R1cmVMaXN0LCBpbnQgbGlzdFNpemUpCi0gICAgewotICAgICAgICBhY2Nlc3NUeXBlID0g
YWNjZXNzX2dldF9ieV9pZF9wcm90b19saXN0OwotCi0gICAgICAgIHUuZ2V0QnlJZFByb3RvTGlz
dC5zdHJ1Y3R1cmVMaXN0ID0gc3RydWN0dXJlTGlzdDsKLSAgICAgICAgdS5nZXRCeUlkUHJvdG9M
aXN0Lmxpc3RTaXplID0gbGlzdFNpemU7Ci0gICAgfQotCiAgICAgLy8gUHV0QnlJZCoKIAogICAg
IHZvaWQgaW5pdFB1dEJ5SWRUcmFuc2l0aW9uKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgU3RydWN0
dXJlKiBwcmV2aW91c1N0cnVjdHVyZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNo
YWluKiBjaGFpbiwgYm9vbCBpc0RpcmVjdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAJKHJldmlzaW9uIDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjkwLDIyICsyOTAsNiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9yZXNvbHZlX3Njb3BlKQogICAg
ICAgICBERUZJTkVfT1Aob3BfZ2V0X2Zyb21fc2NvcGUpCiAgICAgICAgIERFRklORV9PUChvcF9w
dXRfdG9fc2NvcGUpCi0KLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfY2hhaW46Ci0gICAgICAg
IGNhc2Ugb3BfZ2V0X2J5X2lkX2dlbmVyaWM6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3By
b3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9zZWxmOgotICAgICAgICBjYXNlIG9wX2dl
dF9ieV9pZF9nZXR0ZXJfY2hhaW46Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2dldHRlcl9w
cm90bzoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZ2V0dGVyX3NlbGY6Ci0gICAgICAgIGNh
c2Ugb3BfZ2V0X2J5X2lkX2N1c3RvbV9jaGFpbjoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRf
Y3VzdG9tX3Byb3RvOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9jdXN0b21fc2VsZjoKLSAg
ICAgICAgY2FzZSBvcF9nZXRfc3RyaW5nX2xlbmd0aDoKLSAgICAgICAgY2FzZSBvcF9wdXRfYnlf
aWRfZ2VuZXJpYzoKLSAgICAgICAgY2FzZSBvcF9wdXRfYnlfaWRfcmVwbGFjZToKLSAgICAgICAg
Y2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbjoKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMTY0MDg5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAxLDcgKzUwMSw3IEBA
IHN0YXRpYyBib29sIGdldFBvbHltb3JwaGljU3RydWN0dXJlTGlzdCgKICAgICB9IGVsc2UgaWYg
KHN0dWJJbmZvLmFjY2Vzc1R5cGUgPT0gYWNjZXNzX2dldF9ieV9pZF9jaGFpbikgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghIXN0dWJJbmZvLnN0dWJSb3V0aW5lKTsKICAgICAgICAgc2xvd0Nh
c2UgPSBDb2RlTG9jYXRpb25MYWJlbChzdHViSW5mby5zdHViUm91dGluZS0+Y29kZSgpLmNvZGUo
KSk7Ci0gICAgICAgIHBvbHltb3JwaGljU3RydWN0dXJlTGlzdCA9IG5ldyBQb2x5bW9ycGhpY0Fj
Y2Vzc1N0cnVjdHVyZUxpc3QoKnZtLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBzdHVi
SW5mby5zdHViUm91dGluZSwgc3R1YkluZm8udS5nZXRCeUlkQ2hhaW4uYmFzZU9iamVjdFN0cnVj
dHVyZS5nZXQoKSwgc3R1YkluZm8udS5nZXRCeUlkQ2hhaW4uY2hhaW4uZ2V0KCksIHRydWUpOwor
ICAgICAgICBwb2x5bW9ycGhpY1N0cnVjdHVyZUxpc3QgPSBuZXcgUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0KCp2bSwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgc3R1YkluZm8u
c3R1YlJvdXRpbmUsIHN0dWJJbmZvLnUuZ2V0QnlJZENoYWluLmJhc2VPYmplY3RTdHJ1Y3R1cmUu
Z2V0KCksIHN0dWJJbmZvLnUuZ2V0QnlJZENoYWluLmNoYWluLmdldCgpLCBzdHViSW5mby51Lmdl
dEJ5SWRDaGFpbi5pc0RpcmVjdCwgc3R1YkluZm8udS5nZXRCeUlkQ2hhaW4uY291bnQpOwogICAg
ICAgICBzdHViSW5mby5zdHViUm91dGluZS5jbGVhcigpOwogICAgICAgICBzdHViSW5mby5pbml0
R2V0QnlJZFNlbGZMaXN0KHBvbHltb3JwaGljU3RydWN0dXJlTGlzdCwgMSwgZmFsc2UpOwogICAg
ICAgICBsaXN0SW5kZXggPSAxOwpAQCAtNzI2LDcgKzcyNiw3IEBAIHN0YXRpYyBib29sIHRyeUJ1
aWxkR2V0QnlJRExpc3QoRXhlY1N0YXQKICAgICAgICAgc2xvd0Nhc2UsIHN0dWJSb3V0aW5lKSA9
PSBQcm90b0NoYWluR2VuZXJhdGlvbkZhaWxlZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IAotICAgIHBvbHltb3JwaGljU3RydWN0dXJlTGlzdC0+bGlzdFtsaXN0SW5kZXhdLnNldCgqdm0s
IGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHN0dWJSb3V0aW5lLCBzdHJ1Y3R1cmUsIHNs
b3QuaXNDYWNoZWFibGVWYWx1ZSgpKTsKKyAgICBwb2x5bW9ycGhpY1N0cnVjdHVyZUxpc3QtPmxp
c3RbbGlzdEluZGV4XS5zZXQoKnZtLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBzdHVi
Um91dGluZSwgc3RydWN0dXJlLCBwcm90b3R5cGVDaGFpbiwgc2xvdC5pc0NhY2hlYWJsZVZhbHVl
KCksIGNvdW50KTsKICAgICAKICAgICBwYXRjaEp1bXBUb0dldEJ5SWRTdHViKGNvZGVCbG9jaywg
c3R1YkluZm8sIHN0dWJSb3V0aW5lLmdldCgpKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9u
IDE2NDA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTEyNSw0OCArMTEyNSw2IEBAIG1hY3JvIG5vdFN1
cHBvcnRlZCgpCiAgICAgZW5kCiBlbmQKIAotX2xsaW50X29wX2dldF9ieV9pZF9jaGFpbjoKLSAg
ICBub3RTdXBwb3J0ZWQoKQotCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX2N1c3RvbV9jaGFpbjoKLSAg
ICBub3RTdXBwb3J0ZWQoKQotCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX2N1c3RvbV9wcm90bzoKLSAg
ICBub3RTdXBwb3J0ZWQoKQotCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX2N1c3RvbV9zZWxmOgotICAg
IG5vdFN1cHBvcnRlZCgpCi0KLV9sbGludF9vcF9nZXRfYnlfaWRfZ2VuZXJpYzoKLSAgICBub3RT
dXBwb3J0ZWQoKQotCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX2dldHRlcl9jaGFpbjoKLSAgICBub3RT
dXBwb3J0ZWQoKQotCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX2dldHRlcl9wcm90bzoKLSAgICBub3RT
dXBwb3J0ZWQoKQotCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX2dldHRlcl9zZWxmOgotICAgIG5vdFN1
cHBvcnRlZCgpCi0KLV9sbGludF9vcF9nZXRfYnlfaWRfcHJvdG86Ci0gICAgbm90U3VwcG9ydGVk
KCkKLQotX2xsaW50X29wX2dldF9ieV9pZF9zZWxmOgotICAgIG5vdFN1cHBvcnRlZCgpCi0KLV9s
bGludF9vcF9nZXRfc3RyaW5nX2xlbmd0aDoKLSAgICBub3RTdXBwb3J0ZWQoKQotCi1fbGxpbnRf
b3BfcHV0X2J5X2lkX2dlbmVyaWM6Ci0gICAgbm90U3VwcG9ydGVkKCkKLQotX2xsaW50X29wX3B1
dF9ieV9pZF9yZXBsYWNlOgotICAgIG5vdFN1cHBvcnRlZCgpCi0KLV9sbGludF9vcF9wdXRfYnlf
aWRfdHJhbnNpdGlvbjoKLSAgICBub3RTdXBwb3J0ZWQoKQotCiBfbGxpbnRfb3BfaW5pdF9nbG9i
YWxfY29uc3Rfbm9wOgogICAgIGRpc3BhdGNoKDUpCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>