§
    nÈj™b  ã                   óš  — d Z ddlZddlmc mZ ddlZddlZddl	Z	ddl
mZmZmZmZmZmZmZmZmZ d„ Zd„ Zd„ Zd,d	„Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!ddl"m#Z# ddl$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1  G d„ d¦  «        Z2d-d„Z3d.d„Z4d „ Z5d!„ Z6d"„ Z7d#„ Z8d$„ Z9d%„ Z:d&„ Z;d'„ Z< G d(„ d)¦  «        Z=d*„ Z>d+„ Z?dS )/zJBounded, read-only Agent History: normalization, cursors, frames, binding.é    N)	ÚHISTORY_MAX_FRAME_BYTESÚHISTORY_MAX_MESSAGESÚHISTORY_MAX_TEXT_BYTESÚ
build_pageÚdecode_cursorÚencode_cursorÚnormalize_codex_turnÚnormalize_pi_messagesÚbuild_view_pagec                  ób  — d} t          d| ¬¦  «        t          dd¬¦  «        g}g }d }	 t          ||dd¬	¦  «        }t          j        }d
} |||¬¦  «        }|j        } |¦   «         }	t          |	¦  «        }
d}|
|k     }|�s™t          j        d|fd|
|f¦  «        dt          j	        ¦   «         v st          j
        t
          ¦  «        rt          j        t
          ¦  «        nddt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœ
z  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
x}}|                     |¦  «         |d         }|sn�Œ$t          |¦  «        }d}||k    }|sòt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        t
          ¦  «        rt          j        t
          ¦  «        nddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d                     d„ |d d…         D ¦   «         ¦  «        }| j        }d }d!} |||¦  «        }||k    }|�st          j        d"|fd#||f¦  «        d$t          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nd$d%t          j	        ¦   «         v st          j
        | ¦  «        rt          j        | ¦  «        nd%t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d&œz  }d'd(|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}}t#          t          |¦  «        dz
  d)d¦  «        D ]Ï}t          |||         d*         dd¬	¦  «        }||dz
           }||k    }|s—t          j        d"|fd+||f¦  «        d,t          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nd,t          j        |¦  «        d-œz  }d.d/|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}ŒÐd S )0NuÐ$  å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚å¼€å§‹ðŸ™‚æµ‹è¯•ã€‚ password=private_value ç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�Ÿç»“æ�ŸÚ	assistant©ÚroleÚtextÚuserÚpromptTÚcodexé   ©ÚagentÚ
generationF©Úensure_asciii¸  )ú<)z¸%(py14)s
{%(py14)s = %(py0)s(%(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py3)s
{%(py3)s = %(py1)s.dumps
}(%(py4)s, ensure_ascii=%(py6)s)
}.encode
}()
})
} < %(py17)sÚlenÚjsonÚpage)
Úpy0Úpy1Úpy3Úpy4Úpy6Úpy8Úpy10Úpy12Úpy14Úpy17úassert %(py19)sÚpy19Únext_cursoré   )ú>)z/%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} > %(py6)sÚpages©r   r   r    r"   úassert %(py8)sr#   Ú c              3   ó>   K  — | ]}|d          d         d         V — ŒdS )Úmessagesr   r   N© )Ú.0Úps     ú[/home/lighthouse/esp32-dev/.cache/main-promotion-test-20261009/server/tests/test_history.pyú	<genexpr>zLtest_view_full_utf8_fragments_are_reversible_and_redacted.<locals>.<genexpr>   s0   è è € ÐGÐG°q˜!˜Jœ-¨Ô*¨6Ô2ÐGÐGÐGÐGÐGÐGó    éÿÿÿÿzpassword=private_valueú
[redacted]©ú==)zX%(py0)s == %(py10)s
{%(py10)s = %(py4)s
{%(py4)s = %(py2)s.replace
}(%(py6)s, %(py8)s)
}Úreconstructedr   )r   Úpy2r!   r"   r#   r$   úassert %(py12)sr%   r   Úprevious_cursor©z%(py0)s == %(py3)sÚprevious©r   r    úassert %(py5)sÚpy5)Údictr   r   ÚdumpsÚencoder   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚappendÚjoinÚreplaceÚrange)r   Úsourcer-   Úcursorr   Ú@py_assert2Ú@py_assert5Ú@py_assert7Ú@py_assert9Ú@py_assert11Ú@py_assert13Ú@py_assert16Ú@py_assert15Ú@py_format18Ú@py_format20Ú@py_assert4Ú@py_format7Ú@py_format9r=   Ú@py_assert3Ú@py_assert1Ú@py_format11Ú@py_format13ÚirB   Ú@py_format4Ú@py_format6s                              r6   Ú9test_view_full_utf8_fragments_are_reversible_and_redactedrk      s.  € Ø	N€DÝ�k tÐ,Ñ,Ô,­T°vÀ8Ð-LÑ-LÔ-LÐM€FØ
€E�DˆVðÝ˜V F°ÀAÐFÑFÔFˆÝ”:ÐE°ÐE�:�:˜d°Ð6Ñ6Ô6ÐEÐ6Ô=ÐEÐ=Ð=Ñ?Ô?ÐE�sÐ?Ñ@Ô@ÐEÀÐEÐ@ÀÒEÐEÐEÑEÕEÔEÐEÐEÐEÐEÐ@ÀÐEÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔE�sÑEÔEÐEÕEÔE�sÑEÔEÐEÐEÐEÕEÔEÑEÔEÐEÐEÕEÔE•4ÑEÔEÐEÕEÔE•4ÑEÔEÐEÐEÕEÔE�:ÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔE˜dÑEÔEÐEÕEÔE˜dÑEÔEÐEÐEÕEÔE°ÑEÔEÕEÔEÐ6ÑEÔEÕEÔEÐ=ÑEÔEÕEÔEÐ?ÑEÔEÕEÔEÐ@ÑEÔEÕEÔEÀÑEÔEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEØ�Š�TÑÔÐØ�MÔ"ˆØÐ�eñõ ˆu‰:Œ:Ð�aÐˆ:�aŠ<ÐÐÐÕÔÐÐÐÐˆ:�aÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔˆ:ÑÔÕÔ�aÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ—'’'ÐGÐG¸EÀ#À2À#¼JÐGÑGÔGÑGÔG€MØœ,ÐMÐ'?ÐMÀÐM˜,˜,Ð'?ÀÑMÔMÐMˆ=ÐMÒMÐMÐMÑMÕMÔMÐMÐMÐMÐMˆ=ÐMÐMÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔMˆ=ÑMÔMÐMÕMÔMˆ=ÑMÔMÐMÐMÐMÕMÔMÑMÔMÐMÐMÕMÔM˜$ÑMÔMÐMÕMÔM˜$ÑMÔMÐMÐMÕMÔM˜,ÑMÔMÕMÔMÐ'?ÑMÔMÕMÔMÀÑMÔMÕMÔMÐMÑMÔMÐMÐMÑMÐMÐMÐMÐMÐMÑMÐMÕMÕMÔMÐMÑMÔMÑMÔMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÝ•3�u‘:”:˜a‘<  "Ñ%Ô%ð $ð $ˆÝ  ¨¨a¬Ð1BÔ(CÈ'Ð]^Ð_Ñ_Ô_ˆØ˜q ™sœÐ#ˆx˜Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆx˜Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Õ#Ô#ˆxÑ#Ô#Ð#Ð#Õ#Ô#˜Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#ð$ð $r8   c                  óz  — t          dddœdddœdddœdddœgd	¬
¦  «        } d„ t          | d¬¦  «        D ¦   «         }g d¢}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )NÚuserMessager   ©Útyper   ÚagentMessageÁÐ  firstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstÚ	reasoningÚhiddenÁ`	  secondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondsecondÚ
inProgress©Ústatusc                 ó   — g | ]
}|d          ‘ŒS ©r   r3   ©r4   Úms     r6   ú
<listcomp>zLtest_current_keeps_all_native_messages_without_reasoning.<locals>.<listcomp>"   s   € ÐJÐJÐJ˜!ˆAˆfŒIÐJÐJÐJr8   T)Úcurrent)r   rq   rt   r;   ©z%(py1)s == %(py4)s©r   r!   úassert %(py6)sr"   ©Úturnr	   rI   rJ   rN   rO   rP   )r}   Ú@py_assert0rd   rW   Ú@py_format5rb   s         r6   Ú8test_current_keeps_all_native_messages_without_reasoningr…      s#  € Ý˜-¨xÐ8Ð8Ø(°Ð<Ð<Ø%¨XÐ6Ð6Ø(°Ð=Ð=ð?ð GSðTñ Tô T€Gð KÐJÕ3°GÀDÐIÑIÔIÐJÑJÔJÐoÐLoÐLoÐLoÐoÐJÐLoÒoÐoÐoÐoÕoÔoÐoÐoÐoÐoÐJÐLoÐoÑoÔoÕoÔoÐJÑoÔoÕoÔoÐLoÑoÔoÐoÐoÑoÐoÐoÐoÐoÐoÑoÐoÕoÕoÔoÐoÑoÔoÑoÔoÐoÐoÐoÐoÐoÐoÐoÐoÐor8   c            
      ó2	  — d } t          | ¦  «        }d}||k    }|sÇt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x} x}x}}d} t          | ¦  «        }d}||k    }|sÇt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x} x}x}}d	D �]¨}t          |¦  «        }t          |¦  «        }||k    }|�sxt          j        d|fd
||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}}�ŒªdD �]}
t          |
¦  «        }d }||u }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}�Œd S )Nr   r;   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sr   )r   r>   r!   Úpy7úassert %(py9)sÚpy9r0   )r   r   é   éè  )zN%(py6)s
{%(py6)s = %(py0)s(%(py4)s
{%(py4)s = %(py1)s(%(py2)s)
})
} == %(py8)sr   Úoffset)r   r   r>   r!   r"   r#   úassert %(py10)sr$   )z!!!!Ú
not_base64Á,  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaÚ
aGVsbG86MQ)Úis)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} is %(py6)sÚbadr.   r/   r#   )
r   rI   rJ   rK   rL   rM   rN   rO   rP   r   )re   rd   Ú@py_assert6rX   Ú@py_format8Ú@py_format10rŒ   rY   rc   rf   r’   rW   ra   rb   s                 r6   Ú#test_cursor_roundtrip_and_rejectionr–   '   sì  € ØÐ#�=˜ÑÔÐ# !Ð#Ð !Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð !Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�=Ñ#Ô#Ð#Õ#Ô#�=Ñ#Ô#Ð#Ð#Õ#Ô#˜Ñ#Ô#Õ#Ô#ÐÑ#Ô#Õ#Ô# !Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ØÐ!�=˜ÑÔÐ! Ð!Ð Ò!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!Ð Ð!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!�=Ñ!Ô!Ð!Õ!Ô!�=Ñ!Ô!Ð!Ð!Õ!Ô!˜Ñ!Ô!Õ!Ô!ÐÑ!Ô!Õ!Ô! Ñ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ø!ð >ñ >ˆÝ*¨6Ñ2Ô2Ð=�}Ð2Ñ3Ô3Ð=Ð3°vÒ=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=Ð3°vÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�}Ñ=Ô=Ð=Õ=Ô=�}Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�]Ñ=Ô=Ð=Õ=Ô=�]Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=¨6Ñ=Ô=Ð=Õ=Ô=¨6Ñ=Ô=Ð=Ð=Õ=Ô=Ð2Ñ=Ô=Õ=Ô=Ð3Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=°vÑ=Ô=Ð=Õ=Ô=°vÑ=Ô=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ñ=à>ð *ñ *ˆÝ˜SÑ!Ô!Ð) TÐ)Ð! TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð! TÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�}Ñ)Ô)Ð)Õ)Ô)�}Ñ)Ô)Ð)Ð)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)˜SÑ)Ô)Ð)Õ)Ô)˜SÑ)Ô)Ð)Ð)Õ)Ô)Ð!Ñ)Ô)Õ)Ô) TÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ñ)ð*ð *r8   Ú	completedÚfullc                 ó   — ||| dœS )N)rw   Ú	itemsViewÚitemsr3   )r›   rw   Ú
items_views      r6   r‚   r‚   3   s   € Ø¨:ÀÐFÐFÐFr8   c                  ó€  — dddœddddœgdœdd	dœd
dddœd
dddœdddœg} t          t          | ¦  «        ¦  «        }d„ |D ¦   «         }ddg}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}t          j        |¦  «        }dD ]Ì}||v}	|	sÂt          j        d|	fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndd t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd d!œz  }
d"d#|
iz  }t          t          j        |¦  «        ¦  «        ‚d }	ŒÍd S )$Nrr   úsecret chain of thoughtrn   rm   r   zfix the network©ro   ÚcontentÚfunctionCallzrm -rf /rp   Ú
commentaryúthinking out loud©ro   Úphaser   Úfinal_answerzdone, tests passÚ
fileChangeú
diff --gitc                 ó   — g | ]
}|d          ‘ŒS ©r   r3   rz   s     r6   r|   zDtest_codex_normalization_only_user_and_assistant.<locals>.<listcomp>A   ó   € Ð*Ð*Ð*˜!ˆAˆfŒIÐ*Ð*Ð*r8   r   r   r;   r~   r   r€   r"   r   r   )rž   zrm -rfr£   r¨   ©únot in©z%(py0)s not in %(py2)sÚ	forbiddenÚblob©r   r>   úassert %(py4)sr!   ©r	   r‚   rI   rJ   rN   rO   rP   r   rG   rK   rL   rM   )r›   Ú
normalizedrƒ   rd   rW   r„   rb   r°   r¯   re   Ú@py_format3s              r6   Ú0test_codex_normalization_only_user_and_assistantr¶   7   s�  € àÐ&?Ð@Ð@Ø°VÐEVÐ,WÐ,WÐ+XÐYÐYØ¨Ð4Ð4Ø¨,Ð@SÐTÐTØ¨.ÐBTÐUÐUØ |Ð4Ð4ð€Eõ &¥d¨5¡k¤kÑ2Ô2€JØ*Ð*˜zÐ*Ñ*Ô*ÐC¨v°{Ð.CÐCÐ*Ð.CÒCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ*Ð.CÐCÑCÔCÕCÔCÐ*ÑCÔCÕCÔCÐ.CÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCØ�aŒ=˜Ô Ð5Ð$5Ð5Ð Ð$5Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð Ð$5Ð5Ñ5Ô5Õ5Ô5Ð Ñ5Ô5Õ5Ô5Ð$5Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø�aŒ=˜Ô Ð6Ð$6Ð6Ð Ð$6Ò6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð Ð$6Ð6Ñ6Ô6Õ6Ô6Ð Ñ6Ô6Õ6Ô6Ð$6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6åŒ:�jÑ!Ô!€DØ]ð %ð %ˆ	Ø Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆy Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Ð$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ Ñ$Ô$Ð$Õ$Ô$ Ñ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$ð%ð %r8   c            	      ó|  — ddddœdddœdddœd	d
ddœdddœgdœ} t          t          | dddœg¦  «        ¦  «        }|d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}t          j        |¦  «        }dD ]Ì}||v}	|	sÂt          j        d|	fd||f¦  «        dt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndd t          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd d!œz  }
d"d#|
iz  }t          t          j        |¦  «        ¦  «        ‚d }	ŒÍddd$dœgdœg}t          |¦  «        }t          |¦  «        }g }||k    }|�s"t          j        d|fd%||f¦  «        d&t          j
        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nd&d't          j
        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd't          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d(œz  }d)d*|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}}t          t          dd+dœg¦  «        ¦  «        }|d         d         }d+}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S ),Nrm   r   z
first linern   Ú
localImageú/tmp/secret.png)ro   Úpathzsecond lineÚmentionÚdocsú
/repo/docs)ro   Únamerº   Úimagezhttps://example.test/x.png)ro   ÚurlrŸ   rp   Úanswerr   r   r   r;   r~   r   r€   r"   zfirst line
second line)r¹   r»   zexample.testr½   r¬   r®   r¯   r°   r±   r²   r!   zhttps://example.test/y.png)zO%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py1)s(%(py3)s)
})
} == %(py10)sr	   r‚   )r   r   r    rE   r‡   r$   r?   r%   zlegacy promptr³   )Úitemr´   rƒ   rd   rW   r„   rb   r°   r¯   re   rµ   ra   r“   rZ   Ú@py_assert8rf   rg   Úlegacys                     r6   Ú+test_codex_user_message_reads_content_partsrÅ   J   se  € ð "Ø Ð.Ð.ØÐ'8Ð9Ð9Ø Ð/Ð/Ø F°LÐAÐAØÐ!=Ð>Ð>ð/ð ð €Dõ &¥d¨D¸>ÐS[Ð2\Ð2\Ð+]Ñ&^Ô&^Ñ_Ô_€JØ�aŒ=˜Ô Ð* FÐ*Ð  FÒ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð  FÐ*Ñ*Ô*Õ*Ô*Ð Ñ*Ô*Õ*Ô* FÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ø�aŒ=˜Ô Ð=Ð$=Ð=Ð Ð$=Ò=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð Ð$=Ð=Ñ=Ô=Õ=Ô=Ð Ñ=Ô=Õ=Ô=Ð$=Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ÝŒ:�jÑ!Ô!€DØQð %ð %ˆ	Ø Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆy Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Ð$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ Ñ$Ô$Ð$Õ$Ô$ Ñ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$à/<ØÐ!=Ð>Ð>ðJ@ð 'Að 'Að &Bð J¥ð &Bñ !Cô !Cð JÕð !Cñ Dô Dð JØGIðJð DØGIòJð Jð Jñ Jõ JÜ8IðJð Jð Jð Jð DØGIðJñ Jô Jð Jõ JÜCIñJô Jð Jð Jõ JÜ1Iõ  ñ Jô Jð Jõ JÜ@Iõ  ñ Jô Jð Jð Jð Jõ JÜCIñJô Jð Jð Jõ JÜ1Iõ !%ñ Jô Jð Jõ JÜ@Iõ !%ñ Jô Jð Jð Jõ JÜ@Ið&Bñ Jô Jõ JÜ@Ið!Cñ Jô Jõ JÜ@IðDñ Jô Jõ JÜ@IÀrñJô Jð Jð Jñ Jð Jð Jð Jð Jð Jñ Jð Jõ Jõ JÜ6IðJñ Jô Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jõ "¥$°ÈÐ(XÐ(XÐ'YÑ"ZÔ"ZÑ[Ô[€FØ�!Œ9�VÔÐ/ Ð/Ð Ò/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð Ð/Ñ/Ô/Õ/Ô/ÐÑ/Ô/Õ/Ô/ Ñ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/r8   c                  óÊ  — t          ddddœdddœg¦  «        } t          | ¦  «        d         d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}t          dddœddddœdddœg¦  «        }t          |¦  «        d         d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )Nrp   r¢   Únoiser¤   zreal answerrn   r   r   r;   r~   r   r€   r"   Údraftr¦   ÚfinalÚtrailingr�   )Úonly_commentaryrƒ   rd   rW   r„   rb   Úfinal_presents          r6   Ú;test_codex_assistant_prefers_final_then_last_non_commentaryrÍ   c   sÛ  € åØ¨,ÀÐHÐHØ¨Ð7Ð7ðñ ô €Oõ   Ñ0Ô0°Ô3°FÔ;ÐL¸}ÐLÐ;¸}ÒLÐLÐLÐLÕLÔLÐLÐLÐLÐLÐ;¸}ÐLÑLÔLÕLÔLÐ;ÑLÔLÕLÔL¸}ÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLåØ¨Ð1Ð1Ø¨.À'ÐJÐJØ¨Ð4Ð4ðñ ô €Mõ
   Ñ.Ô.¨qÔ1°&Ô9ÐD¸WÐDÐ9¸WÒDÐDÐDÐDÕDÔDÐDÐDÐDÐDÐ9¸WÐDÑDÔDÕDÔDÐ9ÑDÔDÕDÔD¸WÑDÔDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDÐDÐDÐDÐDr8   c            
      óæ  — ddddœgdœg} d}t          | |¬¦  «        }t          |¦  «        }g }||k    }|�s5t          j        d|fd	||f¦  «        d
t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd
dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}x}x}}ddddœgdœg} d}t          | |¬¦  «        }t          |¦  «        }g }||k    }|�s5t          j        d|fd||f¦  «        d
t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd
dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x} x}x}x}x}}d S )Nrm   r   Úhirn   rŸ   ru   rv   r;   )z_%(py9)s
{%(py9)s = %(py0)s(%(py7)s
{%(py7)s = %(py1)s(%(py3)s, status=%(py5)s)
})
} == %(py12)sr	   r‚   )r   r   r    rE   r‡   r‰   r%   úassert %(py14)sr&   Úsummary)rœ   )zc%(py9)s
{%(py9)s = %(py0)s(%(py7)s
{%(py7)s = %(py1)s(%(py3)s, items_view=%(py5)s)
})
} == %(py12)s)
r‚   r	   rI   rJ   rK   rL   rM   rN   rO   rP   )rW   ra   r“   rÃ   r[   Ú@py_assert10rg   Ú@py_format15s           r6   Ú5test_codex_incomplete_and_non_completed_turns_skippedrÔ   s   sÖ  € Ø/<Ø Ð&Ð&ðJ(ð ')ð ')ð &*ð GØ2>ðG¥ð &*Ø2>ð!@ñ !@ô !@ð GÕð !@ñ Aô Að GØDFðGð AØDFòGð Gð Gñ Gõ GÜ5FðGð Gð Gð Gð AØDFðGñ Gô Gð Gõ GÜ@FñGô Gð Gð Gõ GÜ.Fõ  ñ Gô Gð Gõ GÜ=Fõ  ñ Gô Gð Gð Gð Gõ GÜ@FñGô Gð Gð Gõ GÜ.Fõ !%ñ Gô Gð Gõ GÜ=Fõ !%ñ Gô Gð Gð Gõ GÜ=Fð&*ñ Gô Gõ GÜ=F°,ñGô Gõ GÜ=Fð!@ñ Gô Gõ GÜ=FðAñ Gô Gõ GÜ=FÀBñGô Gð Gð Gñ Gð Gð Gð Gð Gð Gñ Gð Gõ Gõ GÜ3FðGñ Gô Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gà/<Ø Ð&Ð&ðJ(ð ')ð ')ð &*ð HØ6?ðH¥ð &*Ø6?ð!Añ !Aô !Að HÕð !Añ Bô Bð HØEGðHð BØEGòHð Hð Hñ Hõ HÜ6GðHð Hð Hð Hð BØEGðHñ Hô Hð Hõ HÜAGñHô Hð Hð Hõ HÜ/Gõ  ñ Hô Hð Hõ HÜ>Gõ  ñ Hô Hð Hð Hð Hõ HÜAGñHô Hð Hð Hõ HÜ/Gõ !%ñ Hô Hð Hõ HÜ>Gõ !%ñ Hô Hð Hð Hõ HÜ>Gð&*ñ Hô Hõ HÜ>G°iñHô Hõ HÜ>Gð!Añ Hô Hõ HÜ>GðBñ Hô Hõ HÜ>GÀRñHô Hð Hð Hñ Hð Hð Hð Hð Hð Hñ Hð Hõ Hõ HÜ4GðHñ Hô Hñ Hô Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hr8   c                  ó^  — dddœdddœdddd	œd
ddœgdœdddd	œgdœdddd	œgdœg} t          | ¦  «        }d„ |D ¦   «         }ddg}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t	          t          j        |¦  «        ¦  «        ‚d x}x}}t          j        |¦  «        }dD ]Ì}||v}	|	sÂt          j        d|	fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        nddœz  }
dd|
iz  }t	          t          j        |¦  «        ¦  «        ‚d }	ŒÍd S ) NÚsystemúsystem prompt©r   r    r   Úhellor   r   rÏ   rn   ÚtoolCallÚbash)ro   r¾   Ú
toolResultúcommand outputrr   rs   c                 ó   — g | ]
}|d          ‘ŒS rª   r3   rz   s     r6   r|   zAtest_pi_normalization_only_user_and_assistant.<locals>.<listcomp>†   r«   r8   r;   r~   r   r€   r"   r   )r×   rÛ   rÝ   rs   r¬   r®   r¯   r°   r±   r²   r!   )r
   rI   rJ   rN   rO   rP   r   rG   rK   rL   rM   )r2   r´   rƒ   rd   rW   r„   rb   r°   r¯   re   rµ   s              r6   Ú-test_pi_normalization_only_user_and_assistantrß   |   sú  € à oÐ6Ð6Ø GÐ,Ð,Ø°6À4Ð*HÐ*HØ3=ÀvÐ*NÐ*Nð*Pð 	Qð 	Qà°FÐDTÐ+UÐ+UÐ*VÐWÐWØ°;ÈÐ*QÐ*QÐ)RÐSÐSð€Hõ ' xÑ0Ô0€JØ*Ð*˜zÐ*Ñ*Ô*ÐC¨v°{Ð.CÐCÐ*Ð.CÒCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ*Ð.CÐCÑCÔCÕCÔCÐ*ÑCÔCÕCÔCÐ.CÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCØ�aŒ=˜Ô Ð( DÐ(Ð  DÒ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð  DÐ(Ñ(Ô(Õ(Ô(Ð Ñ(Ô(Õ(Ô( DÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ÝŒ:�jÑ!Ô!€DØJð %ð %ˆ	Ø Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆy Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Õ$Ô$ˆyÑ$Ô$Ð$Ð$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ Ñ$Ô$Ð$Õ$Ô$ Ñ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$ð%ð %r8   c                 ó4   — d„ t          | ¦  «        D ¦   «         S )Nc                 ó4   — g | ]}|d z  dk    rdndd|› �dœ‘ŒS )é   r   r   r   zmessage r   r3   ©r4   rh   s     r6   r|   zmessages.<locals>.<listcomp>�   sF   € ð #ð #ð #Øð  ! 1™u¨šz˜z�V�V¨{ÀNÈqÀNÀNÐSÐSð #ð #ð #r8   )rT   )Úcounts    r6   r2   r2   �   s)   € ð#ð #Ý˜5‘\”\ð#ñ #ô #ð #r8   c            	      ó@  — t          d¦  «        } t          | d dd¬¦  «        }|d         }t          |¦  «        }|t          k    }|�st	          j        d|fd|t          f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        d	t          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nd	d
œz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f¦  «        t	          j	        |¦  «        t	          j	        |¦  «        dœz  }	dd|	iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|d         }|s:ddt	          j	        |¦  «        iz  }
t          t	          j        |
¦  «        ¦  «        ‚d }|d         }| }|s:ddt	          j	        |¦  «        iz  }t          t	          j        |¦  «        ¦  «        ‚d x}}t          j        |d         |d         dœdd¬¦  «        }|j        } |¦   «         }t          |¦  «        }|t          k    }|�sRt	          j        d|fd|t          f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        d t          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nd d!œz  }d"d#|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}}d S )$Né
   Úpié   r   r2   r;   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py6)sr   r   ©r   r>   r!   r"   r/   r#   r   r   z	message 0r~   r   r€   r"   r*   zassert %(py1)sr   Úoldestzassert not %(py1)s©r2   r*   F©ú,ú:©r   Ú
separators©ú<=©zc%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.encode
}()
})
} <= %(py9)sÚframer   ©r   r   r    rE   r‡   r‰   úassert %(py11)sÚpy11)r2   r   r   r   rI   rJ   rK   rL   rM   rN   rO   rP   r   rG   rH   r   )Úall_messagesr   re   rd   rX   rb   rc   rƒ   rW   r„   Ú@py_format2rµ   rô   ra   r“   rÃ   r•   Ú@py_format12s                     r6   Ú%test_page_is_newest_first_and_boundedrû   ”   sd  € Ý˜B‘<”<€LÝ�l D°ÀÐCÑCÔC€DØ�JÔÐ8�3ÐÑ Ô Ð8Ð Õ$8Ò8Ð8Ð8Ñ8Õ8Ô8Ð8Ð8Ð8Ð8Ð Õ$8Ð8Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8�3Ñ8Ô8Ð8Õ8Ô8�3Ñ8Ô8Ð8Ð8Õ8Ô8ÐÑ8Ô8Õ8Ô8Ð Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8Õ$8Ñ8Ô8Ð8Õ8Ô8Õ$8Ñ8Ô8Ð8Ð8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø�
Ô˜AÔ˜vÔ&Ð5¨+Ð5Ð&¨+Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð&¨+Ð5Ñ5Ô5Õ5Ô5Ð&Ñ5Ô5Õ5Ô5¨+Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø�ÔÐÐÐÐÐÕÔÐÑÔÐÑÐÕÕÔÐÑÔÑÔÐÐÐØ�HŒ~Ðˆ~ÐÐÐÐÐÐÕÔˆ~ÑÔÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÝŒJ D¨Ô$4ÀTÈ-ÔEXÐYÐYØ$)°jðBñ Bô B€EàŒ|Ð9ˆ|ˆ|‰~Œ~Ð9�3ˆ~ÑÔÐ9ÐÕ"9Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ÐÕ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�3Ñ9Ô9Ð9Õ9Ô9�3Ñ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆuÑ9Ô9Ð9Õ9Ô9ˆuÑ9Ô9Ð9Ð9Õ9Ô9ˆ|Ñ9Ô9Õ9Ô9ˆ~Ñ9Ô9Õ9Ô9ÐÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9Õ"9Ñ9Ô9Ð9Õ9Ô9Õ"9Ñ9Ô9Ð9Ð9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r8   c                  óè  — t          d¦  «        } g }d }t          d¦  «        D ]L}t          | |dd¬¦  «        }|                     d„ |d         D ¦   «         ¦  «         |d         r n	|d	         }ŒMd
„ | D ¦   «         }||k    }|s—t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}}ddlm}	 t          j        |	¦  «        5  t          | t!          d¦  «        dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né	   ræ   r   r   r   c              3   ó&   K  — | ]}|d          V — ŒdS ©r   Nr3   rz   s     r6   r7   z=test_cursor_pagination_reaches_oldest_once.<locals>.<genexpr>¦   s&   è è € Ð8Ð8 !�A�f”IÐ8Ð8Ð8Ð8Ð8Ð8r8   r2   rê   r*   c                 ó   — g | ]
}|d          ‘ŒS ry   r3   rz   s     r6   r|   z>test_cursor_pagination_reaches_oldest_once.<locals>.<listcomp>ª   s   € Ð4Ð4Ð4 !�A�f”IÐ4Ð4Ð4r8   r;   rA   ÚseenrC   rD   rE   r   )ÚControlErroriç  rç   )r2   rT   r   ÚextendrI   rJ   rK   rL   rM   rN   rO   rP   Údevice_gateway.control.modelsr  ÚpytestÚraisesr   )
rø   r  rV   Ú_r   rW   re   ri   rj   r  s
             r6   Ú*test_cursor_pagination_reaches_oldest_oncer      s  € Ý˜A‘;”;€LØ€DØ€FÝ�2‰YŒYð %ð %ˆÝ˜,¨°gÈ!ÐLÑLÔLˆØ�ŠÐ8Ð8 t¨JÔ'7Ð8Ñ8Ô8Ñ8Ô8Ð8Ø�Œ>ð 	ØˆEØ�mÔ$ˆˆØ4Ð4 |Ð4Ñ4Ô4Ð4ˆ4Ð4Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4ˆ4Ð4Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ4Ñ4Ô4Ð4Õ4Ô4ˆ4Ñ4Ô4Ð4Ð4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4à:Ð:Ð:Ð:Ð:Ð:Ý	Œ�|Ñ	$Ô	$ð Oð OÝ�<¥¨sÑ!3Ô!3¸4ÈAÐNÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os   Ä9!E'Å'E+Å.E+c                  óZ  ‡— dŠˆfd„t          d¦  «        D ¦   «         } t          | d dd¬¦  «        }t          j        |d         |d         d	œd
d¬¦  «        }|j        } |¦   «         }t          |¦  «        }|t          k    }|�sRt          j        d|fd|t          f¦  «        dt          j
        ¦   «         v st          j        t
          ¦  «        rt          j        t
          ¦  «        nddt          j
        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt          j
        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}}|d         D �]Á}	|	d         }
|
j        } |¦   «         }t          |¦  «        }d}t          |z   }||k    }|�s`t          j        d|fd||f¦  «        dt          j
        ¦   «         v st          j        t
          ¦  «        rt          j        t
          ¦  «        nddt          j
        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt          j
        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}}|
                     d¦  «         �ŒÃd S )NuÐ   ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚ä¸­æ–‡æµ‹è¯•å†…å®¹ã€‚c                 ó   •— g | ]}d ‰dœ‘ŒS )r   r   r3   )r4   r  r°   s     €r6   r|   zDtest_long_text_frame_stays_bounded_and_utf8_safe.<locals>.<listcomp>´   s!   ø€ ÐJÐJÐJ¸A˜[°$Ð7Ð7ÐJÐJÐJr8   rŠ   rç   r   r   r2   r*   rë   Frì   rï   rñ   ró   r   rô   r   rõ   rö   r÷   r   rè   )zp%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.encode
}()
})
} <= (%(py9)s + %(py11)s)r   )r   r   r    rE   r‡   r‰   r÷   rÐ   r&   zutf-8)rT   r   r   rG   rH   r   r   rI   rJ   rK   rL   rM   rN   rO   rP   r   )rø   r   rô   rW   ra   r“   rÃ   r•   rú   Úmessager   rÒ   Ú@py_assert12rg   rÓ   r°   s                  @r6   Ú0test_long_text_frame_stays_bounded_and_utf8_safer  ±   sÓ  ø€ à(€DØJÐJÐJÐJÅÀqÁÄÐJÑJÔJ€LÝ�l D°ÀÐCÑCÔC€DÝŒJ D¨Ô$4ÀTÈ-ÔEXÐYÐYØ$)°jðBñ Bô B€EàŒ|Ð9ˆ|ˆ|‰~Œ~Ð9�3ˆ~ÑÔÐ9ÐÕ"9Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9ÐÕ"9Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�3Ñ9Ô9Ð9Õ9Ô9�3Ñ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆuÑ9Ô9Ð9Õ9Ô9ˆuÑ9Ô9Ð9Ð9Õ9Ô9ˆ|Ñ9Ô9Õ9Ô9ˆ~Ñ9Ô9Õ9Ô9ÐÑ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9Õ"9Ñ9Ô9Ð9Õ9Ô9Õ"9Ñ9Ô9Ð9Ð9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø˜
Ô#ð ñ ˆØ�vŒˆØ”;Ð?�;�;‘=”=Ð?�s�=Ñ!Ô!Ð?¸aÐ?Õ%;¸aÑ%?Ð?Ð!Ð%?Ò?Ð?Ð?Ñ?Õ?Ô?Ð?Ð?Ð?Ð?Ð!Ð%?Ð?Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�sÑ?Ô?Ð?Õ?Ô?�sÑ?Ô?Ð?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�4Ñ?Ô?Ð?Õ?Ô?�4Ñ?Ô?Ð?Ð?Õ?Ô?�;Ñ?Ô?Õ?Ô?�=Ñ?Ô?Õ?Ô?Ð!Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?Õ%;Ñ?Ô?Ð?Õ?Ô?Õ%;Ñ?Ô?Ð?Ð?Õ?Ô?¸aÑ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø�Š�GÑÔÐÑðð r8   c                  óF  — dddœdddœg} t          | d dd¬¦  «        }t          j        |d	         ¦  «        }d
}||v}|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v}|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d S )Nr   z&use Bearer abcdef0123456789 to call itr   r   z api_key=sk-abcdefghijklmnop donerç   r   r   r2   Úabcdef0123456789r¬   )z%(py1)s not in %(py3)sr°   )r   r    rD   rE   zsk-abcdefghijklmnopr:   ©Úin)z%(py1)s in %(py3)s)r   r   rG   rI   rJ   rN   rK   rL   rM   rO   rP   )rø   r   r°   rƒ   rW   ri   rj   s          r6   Útest_credentials_redactedr  ¿   sŸ  € àÐ!IÐJÐJØÐ&HÐIÐIð€Lõ �l D°ÀÐCÑCÔC€DÝŒ:�d˜:Ô&Ñ'Ô'€DØÐ)Ð TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð TÐ)Ñ)Ô)Õ)Ô)ÐÑ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô) TÑ)Ô)Ð)Õ)Ô) TÑ)Ô)Ð)Ð)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ø Ð,Ð ¨Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð ¨Ð,Ñ,Ô,Õ,Ô,Ð Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,¨Ñ,Ô,Ð,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,ØÐˆ<˜4ÐÐÐÐÕÔÐÐÐÐˆ<˜4ÐÑÔÕÔˆ<ÑÔÐÕÔÑÔÐÐÕÔ˜4ÑÔÐÕÔ˜4ÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐr8   )ÚSimpleNamespace)ÚAgentSessionr  ÚProject)Ú	Navigator)Ú
Operations)ÚProjectRegistry)Ú
UserInputs)ÚTargetStorec                   ó*   — e Zd Zdd„Zd„ Zd„ Zd	d„ZdS )
ÚHistoryAgentNTc                 ó�   — || _         || _        t          |¦  «        | _        |�|nt	          d¦  «        | _        |s	d | _        d S d S )Né   )Ú
agent_typer   Ústrrº   r2   Ú	_messagesÚread_history)Úselfr   rº   r›   Úhistorys        r6   Ú__init__zHistoryAgent.__init__×   sS   € ØˆŒØˆŒ
Ý˜‘I”IˆŒ	Ø"'Ð"3˜˜½À!¹¼ˆŒØð 	%Ø $ˆDÔÐÐð	%ð 	%r8   c              ƒ   ó¨   K  — t          |¦  «                             d¦  «        st          dd¦  «        ‚t          | j        |dd| j        d¬¦  «        S )NÚszSession disappearedi”  r5   Únú2026-10-05T00:00:00Z)r   Ú
session_idÚ
project_idr¾   ÚcwdÚ
updated_at)r   Ú
startswithr  r  r   rº   )r#  Úsids     r6   Úget_sessionzHistoryAgent.get_sessionß   sa   è è € Ý�3‰xŒx×"Ò" 3Ñ'Ô'ð 	;ÝÐ4°cÑ:Ô:Ð:Ý $¤*¸ÈÐSVØ $¤	Ð6LðNñ Nô Nð 	Nr8   c              ƒ   ó>   K  — |                       d¦  «        ƒ d {V —†gS )NÚs1)r0  )r#  Úprojects     r6   Úlist_sessionszHistoryAgent.list_sessionså   s/   è è € Ø×&Ò& tÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð-Ð-r8   é@   c              ƒ   ó$   K  — | j         d |…         S ©N)r!  )r#  r/  Úmax_messagess      r6   r"  zHistoryAgent.read_historyè   s   è è € ØŒ~˜m˜|˜mÔ,Ð,r8   ©NT©r5  )Ú__name__Ú
__module__Ú__qualname__r%  r0  r4  r"  r3   r8   r6   r  r  Ö   s]   € € € € € ð%ð %ð %ð %ðNð Nð Nð.ð .ð .ð-ð -ð -ð -ð -ð -r8   r  c                 óL  — t          | dz  ¦  «        }|                     t          ddt          | ¦  «        ¬¦  «        ¦  «         t	          | dz  ¦  «        }t          d| |¦  «        }t          |d|i|t          | dz  ¦  «        t          ¦   «         d„ d	„ d
„ d„ ¦	  «	        }|||fS )Núprojects.jsonr5   ÚDemo©Úidr¾   rº   útargets.jsonr   úo.dbc                 ó   — d S r7  r3   )ÚdÚes     r6   ú<lambda>zbuild.<locals>.<lambda>ò   s   € °T€ r8   c                 ó   — dS r9  r3   ©rF  s    r6   rH  zbuild.<locals>.<lambda>ò   s   € ÀT€ r8   c                 ó   — i S r7  r3   ©Útargets    r6   rH  zbuild.<locals>.<lambda>ó   s   € ¨€ r8   c                 ó   — d S r7  r3   rJ  s    r6   rH  zbuild.<locals>.<lambda>ó   s   € °t€ r8   )	r  Úaddr  r   r  r  r  r  r  )Útmp_pathÚagent_messagesÚprojectsÚtargetsr   Ú	navigators         r6   ÚbuildrU  ì   s²   € Ý˜x¨/Ñ9Ñ:Ô:€HØ‡L‚L•˜C fµ3°x±=´=ÐAÑAÔAÑBÔBÐBÝ˜( ^Ñ3Ñ4Ô4€GÝ˜ (¨NÑ;Ô;€EÝ˜( W¨eÐ$4°g½zÈ(ÐU[ÑJ[Ñ?\Ô?\Ý$™,œ,Ð(9Ð(9¸>¸>Ø+Ð+¨^¨^ñ=ô =€Ið �g˜uÐ$Ð$r8   úagent:codex:s1c                 óH   — t          ddt          j        ¦   «         ¬¦  «        S )NrF  Úc)Ú	device_idÚconnection_idÚ	send_lock)r  ÚasyncioÚLock)Úgeneration_targets    r6   Údevicer_  ÷   s   € Ý S¸ÅwÄ|Á~Ä~ÐVÑVÔVÐVr8   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc               “   ó”  •K  — t          ‰t          dd¬¦  «        t          dd¬¦  «        g¦  «        \  } }}|                     ddd¦  «         t          ¦   «         }d	h|_        t          dd
d|                     d¦  «        d¬¦  «        }|                      ||¦  «        ƒ d {V —†}t          dd¬¦  «        g|_        |                      |t          ||d         ¬¦  «        ¦  «        ƒ d {V —†}|d         d         d         }d}d}	||	z  }
||
v }|st          j	        d|fd||
f¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |	¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}	}
|                      ||¦  «        ƒ d {V —†}|d         d         d         }d}||k    }|slt          j	        d|fd||f¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S ) Nr   Á¸  oldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldoldr   r   r   rF  rV  r5   zview-paginationr   r2  r}   )rM  r   r*  Úexpected_target_generationÚscopeznew responser*   )rV   r2   r   r   Úoldr‹   r  )z%(py1)s in (%(py4)s * %(py6)s))r   r!   r"   rˆ   r‰   r;   r~   r   r€   r"   )rU  rF   Úsetr_  Úcapabilitiesr   r$  r!  rI   rJ   rN   rO   rP   )rT  rS  r   rF  ÚeventÚfirstÚsecondrƒ   rd   rX   rY   rW   r”   r•   Úfreshr„   rb   rP  s                    €r6   ÚrunzJtest_view_snapshot_keeps_position_when_native_history_changes.<locals>.runû   sÌ  øè è € Ý % hµ¸+È:Ð0VÑ0VÔ0VÕW[ÐagÐmuÐWvÑWvÔWvÐ/wÑ xÔ xÑˆ	�'˜%Ø�Š�CÐ(¨Ñ-Ô-Ð-Ý
‰(Œ(ˆÐ#4Ð"5�1”>ÝÐ*°ÀDØ.5×.@Ò.@ÀÑ.EÔ.EÈIðWñ Wô Wˆà×%Ò% a¨Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.ˆÝ ;°NÐCÑCÔCÐDˆŒØ×&Ò& q­¨e¸5ÀÔ;OÐ)PÑ)PÔ)PÑQÔQÐQÐQÐQÐQÐQÐQˆØ�jÔ! !Ô$ VÔ,Ð:°Ð:°dÐ:°°d±
Ð:Ð,°
Ð:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð,°
Ð:Ñ:Ô:Õ:Ô:Ð,Ñ:Ô:Õ:Ô:°Ñ:Ô:Õ:Ô:°dÑ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ø×%Ò% a¨Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.ˆØ�ZÔ  Ô# FÔ+Ð;¨^Ð;Ð+¨^Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð+¨^Ð;Ñ;Ô;Õ;Ô;Ð+Ñ;Ô;Õ;Ô;¨^Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;r8   ©r\  rl  ©rP  rl  s   ` r6   Ú=test_view_snapshot_keeps_position_when_native_history_changesro  ú   s:   ø€ ð<ð <ð <ð <ð <õ „K��‘”ÑÔÐÐÐr8   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc            	   “   óÈ	  •K  — t          ‰¦  «        \  } }}|                     ddd¦  «         |                     d¦  «        }t          ¦   «         }t	          ddd|d¬¦  «        }|                      ||¦  «        ƒ d {V —†}|d         }d	}||k    }	|	slt          j        d
|	fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }
dd|
iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	}g }|d         }	d}|	|k    }|}|r|d         }d}||k    }|}|�st          j        d
|fd|	|f¦  «        t          j        |	¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         |r`t          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}	x}x}x}x}}|d         }t          |¦  «        }|t          k    }|�st          j        d|fd|t          f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        d t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd d!œz  }d"d|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t%          j        t(          ¦  «        5  |                      |t	          ||d#z   ¬$¦  «        ¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t%          j        t(          ¦  «        5  |                      |t	          |d%¬&¦  «        ¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t%          j        t(          ¦  «        5  |                      |t	          |d'¬(¦  «        ¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   t%          j        t(          ¦  «        5  |                      |t	          |d)¬*¦  «        ¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )+NrF  rV  r5   r   r2  Úr1©rM  r   r*  rc  Ú
request_idro   Úhistory_pager;   r~   r   r€   r"   r   r*  )z%(py3)s == %(py6)s)r    r"   z%(py8)sr#   )z%(py11)s == %(py14)s)r÷   r&   z%(py16)sÚpy16r   r(   r)   r2   rñ   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} <= %(py6)sr   r   ré   r/   r   )rc  zagent:codex:otherrL  Úother)r*  rç   )r   )rU  rf  r   r_  rF   r$  rI   rJ   rN   rO   rP   rQ   Ú_format_boolopr   r   rK   rL   rM   r  r  r  )rT  rS  r  r   rF  rh  r   rƒ   rd   rW   r„   rb   re   rX   ra   rÒ   r\   r  rc   rÓ   Ú@py_format17r_   r`   rP  s                          €r6   rl  zAtest_history_requires_target_generation_and_identity.<locals>.run  sÚ  øè è € Ý % h¡¤Ñˆ	�7˜AØ�Š�CÐ)¨3Ñ/Ô/Ð/Ø×'Ò'¨Ñ,Ô,ˆ
Ý‰HŒHˆÝÐ,°GÈØ0:ÀtðMñ Mô Mˆà×&Ò& q¨%Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0ˆØ�FŒ|Ð-˜~Ð-ˆ|˜~Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-ˆ|˜~Ð-Ñ-Ô-Õ-Ô-ˆ|Ñ-Ô-Õ-Ô-˜~Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ØFÐFˆt�GŒ}ÐF ÐFˆ} Ò'ÐFÐFÐFÐFÐF¨D°Ô,>ÐFÀ$ÐFÐ,>À$Ò,FÐFÐFÐFÐFÑFÕFÔFÐFÐFÐFÐFˆ} ÐFÑFÔFÕFÔFˆ}ÑFÔFÕFÔF ÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÐF×FÒFÐFÑFÔFÐFÐFÐFÕFÔFÐFÐFÐFÐFÐ,>À$ÐFÑFÔFÕFÔFÐ,>ÑFÔFÕFÔFÀ$ÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÐF×FÒFÐFÑFÔFÐFÕFÔFÐFÐFÑFÔFÐFÑFÐFÐFÐFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFØ˜
Ô#Ð<�sÐ#Ñ$Ô$Ð<Ð$Õ(<Ò<Ð<Ð<Ñ<Õ<Ô<Ð<Ð<Ð<Ð<Ð$Õ(<Ð<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<�sÑ<Ô<Ð<Õ<Ô<�sÑ<Ô<Ð<Ð<Õ<Ô<Ð#Ñ<Ô<Õ<Ô<Ð$Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<Õ(<Ñ<Ô<Ð<Õ<Ô<Õ(<Ñ<Ô<Ð<Ð<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<åŒ]�<Ñ(Ô(ð 	_ð 	_Ø×#Ò# A¥t¨EÈjÐ[\ÉnÐ']Ñ']Ô']Ñ^Ô^Ð^Ð^Ð^Ð^Ð^Ð^Ð^ð	_ð 	_ð 	_ñ 	_ô 	_ð 	_ð 	_ð 	_ð 	_ð 	_ð 	_øøøð 	_ð 	_ð 	_ð 	_õ Œ]�<Ñ(Ô(ð 	Pð 	PØ×#Ò# A¥t¨EÐ:MÐ'NÑ'NÔ'NÑOÔOÐOÐOÐOÐOÐOÐOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Põ Œ]�<Ñ(Ô(ð 	Hð 	HØ×#Ò# A¥t¨E¸gÐ'FÑ'FÔ'FÑGÔGÐGÐGÐGÐGÐGÐGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	HåŒ]�<Ñ(Ô(ð 	@ð 	@Ø×#Ò# A¥t¨E¸Ð'>Ñ'>Ô'>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@sH   Î/OÏOÏ	OÏ&,PÐP"Ð%P"Ñ,Q:Ñ:Q>ÒQ>Ò,SÓSÓSrm  rn  s   ` r6   Ú4test_history_requires_target_generation_and_identityrz  
  s?   ø€ ð@ð @ð @ð @ð @õ, „K��‘”ÑÔÐÐÐr8   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc               “   óp  •K  — t          ‰¦  «        \  } }}d |_        |                     ddd¦  «         |                     d¦  «        }t	          j        t          ¦  «        5  |                      t          ¦   «         t          ddd|d¬¦  «        ¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )NrF  rV  r5   r   r2  rr  rs  )
rU  r"  rf  r   r  r  r  r$  r_  rF   )rT  rS  r   r   rP  s       €r6   rl  zCtest_history_absent_capability_is_reported_not_crashed.<locals>.run%  s:  øè è € Ý$)¨(¡O¤OÑ!ˆ	�7˜EØ!ˆÔØ�Š�CÐ)¨3Ñ/Ô/Ð/Ø×'Ò'¨Ñ,Ô,ˆ
ÝŒ]�<Ñ(Ô(ð 	Zð 	ZØ×#Ò#¥F¡H¤H­dÐ:JÐRYØ¸JÐSWð/Yñ /Yô /Yñ Zô Zð Zð Zð Zð Zð Zð Zð Zð	Zð 	Zð 	Zñ 	Zô 	Zð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zøøøð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zs   Á#;B+Â+B/Â2B/rm  rn  s   ` r6   Ú6test_history_absent_capability_is_reported_not_crashedr}  $  s?   ø€ ðZð Zð Zð Zð Zõ „K��‘”ÑÔÐÐÐr8   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc               “   ó�  •‡‡K  — t          ‰¦  «        \  } Š}‰                     ddd¦  «         ‰                     d¦  «        }|j        Šd
ˆˆfd„	}||_        t	          j        t          ¦  «        5  |                      t          ¦   «         t          ddd|d¬	¦  «        ¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )NrF  rV  r5   r5  c              “   óZ   •K  — ‰                      ddd¦  «          ‰| |¦  «        ƒ d {V —†S )NrF  zagent:codex:s2r5   )rf  )r/  r8  ÚoriginalrS  s     €€r6   ÚmovingzNtest_history_target_change_during_read_is_ignored.<locals>.run.<locals>.moving7  sB   øè è € à�KŠK˜Ð-¨sÑ3Ô3Ð3Ø!˜ # |Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4r8   r   r2  rr  rs  r:  )
rU  rf  r   r"  r  r  r  r$  r_  rF   )rT  r   r   r‚  r�  rS  rP  s       @@€r6   rl  z>test_history_target_change_during_read_is_ignored.<locals>.run1  si  øøøè è € Ý$)¨(¡O¤OÑ!ˆ	�7˜EØ�Š�CÐ)¨3Ñ/Ô/Ð/Ø×'Ò'¨Ñ,Ô,ˆ
ØÔ%ˆð	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð
 $ˆÔÝŒ]�<Ñ(Ô(ð 	Zð 	ZØ×#Ò#¥F¡H¤H­dÐ:JÐRYØ¸JÐSWð/Yñ /Yô /Yñ Zô Zð Zð Zð Zð Zð Zð Zð Zð	Zð 	Zð 	Zñ 	Zô 	Zð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zøøøð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zs   Á3;B;Â;B?ÃB?rm  rn  s   ` r6   Ú1test_history_target_change_during_read_is_ignoredrƒ  0  s?   ø€ ðZð Zð Zð Zð Zõ „K��‘”ÑÔÐÐÐr8   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc               “   ód  •‡K  — t          ‰dz  ¦  «        } |                      t          ddt          ‰¦  «        ¬¦  «        ¦  «         t	          ‰dz  ¦  «        }t          d‰¦  «        }g Šˆfd„}t          | d|i|t          ‰dz  ¦  «        t          ¦   «         |d	„ d
„ d„ ¦	  «	        }| 	                    ddd¦  «         | 
                    d¦  «        }t          ¦   «         }dh|_        |                     |t          dddd|d¬¦  «        ¦  «        ƒ d {V —† g }‰}‰r‰d         d         }	d}
|	|
k    }|}|sûdddt          j        ¦   «         v st#          j        ‰¦  «        rt#          j        ‰¦  «        ndiz  }|                     |¦  «         ‰r`t#          j        d|fd|	|
f¦  «        t#          j        |	¦  «        t#          j        |
¦  «        dœz  }dd|iz  }|                     |¦  «         t#          j        |d¦  «        i z  }dd|iz  }t/          t#          j        |¦  «        ¦  «        ‚d x}x}x}	x}}
‰d         d          }d}||k    }|slt#          j        d|fd!||f¦  «        t#          j        |¦  «        t#          j        |¦  «        d"œz  }d#d$|iz  }t/          t#          j        |¦  «        ¦  «        ‚d x}x}}t3          j        ‰d         d%¬&¦  «                             ¦   «         }t9          |¦  «        }|t:          k    }	|	�s,t#          j        d'|	fd(|t:          f¦  «        d)t          j        ¦   «         v st#          j        t8          ¦  «        rt#          j        t8          ¦  «        nd)d*t          j        ¦   «         v st#          j        |¦  «        rt#          j        |¦  «        nd*t#          j        |¦  «        d+t          j        ¦   «         v st#          j        t:          ¦  «        rt#          j        t:          ¦  «        nd+d,œz  }d-d.|iz  }t/          t#          j        |¦  «        ¦  «        ‚d x}}	‰                     ¦   «          |                     |t          dddd|d/z   d0¬¦  «        ¦  «        ƒ d {V —† g }‰}‰r‰d         d         }	d1}
|	|
k    }|}|sûdddt          j        ¦   «         v st#          j        ‰¦  «        rt#          j        ‰¦  «        ndiz  }|                     |¦  «         ‰r`t#          j        d|fd|	|
f¦  «        t#          j        |	¦  «        t#          j        |
¦  «        dœz  }dd|iz  }|                     |¦  «         t#          j        |d¦  «        i z  }dd|iz  }t/          t#          j        |¦  «        ¦  «        ‚d x}x}x}	x}}
d S )2Nr?  r5   r@  rA  rC  r   c              “   ó6   •K  — ‰                      |¦  «         d S r7  )rQ   )rF  rh  Úsents     €r6   ÚsendzLtest_history_handler_emits_bounded_page_and_error.<locals>.run.<locals>.sendK  s   øè è € Ø�KŠK˜ÑÔÐÐÐr8   rD  c                 ó   — dS r9  r3   rJ  s    r6   rH  zPtest_history_handler_emits_bounded_page_and_error.<locals>.run.<locals>.<lambda>O  s   € ¸D€ r8   c                 ó   — i S r7  r3   rL  s    r6   rH  zPtest_history_handler_emits_bounded_page_and_error.<locals>.run.<locals>.<lambda>O  s   € ÐQS€ r8   c                 ó   — d S r7  r3   rJ  s    r6   rH  zPtest_history_handler_emits_bounded_page_and_error.<locals>.run.<locals>.<lambda>O  s   € Ð_c€ r8   rF  rV  r$  Úhistory_getr2  rr  )ro   rM  r   r*  rc  rt  r   ro   ru  z%(py2)sr>   r‡  r;   )z%(py5)s == %(py8)s)rE   r#   z%(py10)sr$   zassert %(py13)sÚpy13rt  r~   r   r€   r"   Fr   rñ   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} <= %(py5)sr   rô   r   )r   r   r    rE   zassert %(py7)sr‡   r+   Úr2Úhistory_error)r  rO  r  r   r  r  r  r  r  rf  r   r_  rg  ÚhandlerF   rK   rL   rI   rM   rN   rQ   rJ   rx  rO   rP   r   rG   rH   r   r   Úclear)rR  rS  r   rˆ  rT  r   rF  re   rƒ   ra   rY   r“   rµ   rc   rf   rú   Ú@py_format14rd   rW   r„   rb   rô   rj   r”   r‡  rP  s                           @€r6   rl  z>test_history_handler_emits_bounded_page_and_error.<locals>.runD  sÒ  øøè è € Ý" 8¨oÑ#=Ñ>Ô>ˆØ�Š•W ¨&µs¸8±}´}ÐEÑEÔEÑFÔFÐFÝ˜h¨Ñ7Ñ8Ô8ˆÝ˜W hÑ/Ô/ˆØˆð	ð 	ð 	ð 	ð 	õ ˜h¨°%Ð(8¸'Å:ÈhÐY_ÑN_ÑC`ÔC`Ý(™lœl¨D°.°.ÐBSÐBSÐUcÐUcñeô eˆ	à�Š�CÐ)¨3Ñ/Ô/Ð/Ø×'Ò'¨Ñ,Ô,ˆ
Ý‰HŒHˆØ#˜ˆŒØ×Ò˜q¥$¨MÐBRÐZaØ¸
Ètð#Uñ #Uô #Uñ Vô Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Và9Ð9ˆtÐ9ˆtÐ9˜˜Qœ œÐ9¨>Ð9˜¨>Ò9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆtÑ9Ô9Ð9Õ9Ô9ˆtÑ9Ô9Ð9Ð9Ð9Ñ9Ð9Ð9×9Ò9Ð9Ñ9Ô9Ð9ˆtÐ9Õ9Ô9Ð9Ð9Ð9Ð9˜¨>Ð9Ñ9Ô9Õ9Ô9˜Ñ9Ô9Õ9Ô9¨>Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Ð9×9Ò9Ð9Ñ9Ô9Ð9Õ9Ô9Ð9Ð9Ñ9Ô9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø�AŒw�|Ô$Ð,¨Ð,Ð$¨Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð$¨Ð,Ñ,Ô,Õ,Ô,Ð$Ñ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ý”
˜4 œ7°Ð7Ñ7Ô7×>Ò>Ñ@Ô@ˆÝ�5‰zŒzÐ4ˆzÕ4Ò4Ð4Ð4Ñ4Õ4Ô4Ð4Ð4Ð4Ð4ˆzÕ4Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�sÑ4Ô4Ð4Õ4Ô4�sÑ4Ô4Ð4Ð4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�5Ñ4Ô4Ð4Õ4Ô4�5Ñ4Ô4Ð4Ð4Õ4Ô4ˆzÑ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4Õ4Ñ4Ô4Ð4Õ4Ô4Õ4Ñ4Ô4Ð4Ð4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4à�
Š
‰ŒˆØ×Ò˜q¥$¨MÐBRÐZaØ¸
ÀQ¹ÐSWð#Yñ #Yô #Yñ Zô Zð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zð 	Zà:Ð:ˆtÐ:ˆtÐ:˜˜Qœ œÐ:¨?Ð:˜¨?Ò:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:ˆtÑ:Ô:Ð:Õ:Ô:ˆtÑ:Ô:Ð:Ð:Ð:Ñ:Ð:Ð:×:Ò:Ð:Ñ:Ô:Ð:ˆtÐ:Õ:Ô:Ð:Ð:Ð:Ð:˜¨?Ð:Ñ:Ô:Õ:Ô:˜Ñ:Ô:Õ:Ô:¨?Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Ð:×:Ò:Ð:Ñ:Ô:Ð:Õ:Ô:Ð:Ð:Ñ:Ô:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:r8   rm  rn  s   ` r6   Ú1test_history_handler_emits_bounded_page_and_errorr“  C  s:   ø€ ð;ð ;ð ;ð ;ð ;õ6 „K��‘”ÑÔÐÐÐr8   c                 óx   ‡ ‡‡— ddl mŠ  G d„ d¦  «        Šˆˆˆ fd„}t          j         |¦   «         ¦  «         d S )Nr   ©ÚCodexAdapterc                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )ú8test_codex_adapter_read_history_pages_turns.<locals>.RPCr   c                 ó   — g | _         d S r7  ©Úcalls©r#  s    r6   r%  zAtest_codex_adapter_read_history_pages_turns.<locals>.RPC.__init__j  ó   € ØˆDŒJˆJˆJr8   c              “   ó
   K  — d S r7  r3   rœ  s    r6   Ústartz>test_codex_adapter_read_history_pages_turns.<locals>.RPC.startm  ó
   è è € € € r8   c              “   ó
   K  — d S r7  r3   ©r#  Úvalues     r6   Úwritez>test_codex_adapter_read_history_pages_turns.<locals>.RPC.writen  r   r8   c              “   ó
   K  — d S r7  r3   rœ  s    r6   Úclosez>test_codex_adapter_read_history_pages_turns.<locals>.RPC.closeo  r   r8   c              “   óü   K  — | j                              ||f¦  «         |dk    ri S |                     d¦  «        }|€ t          ddddœgdœdd	d
dœg¦  «        gddœS t          ddddœgdœdd	ddœg¦  «        gd dœS )NÚ
initializerV   rm   r   zsecond questionrn   rŸ   rp   r¦   úsecond answerr¤   Úpage2©ÚdataÚ
nextCursorúfirst questionzfirst answer)r›  rQ   Úgetr‚   )r#  ÚmethodÚparamsrV   s       r6   Úcallz=test_codex_adapter_read_history_pages_turns.<locals>.RPC.callq  sç   è è € ØŒJ×Ò˜v vÐ.Ñ/Ô/Ð/Ø˜Ò%Ð%Ø�	Ø—Z’Z Ñ)Ô)ˆFØˆ~Ý!%Ø*ÀÐQbÐ8cÐ8cÐ7dÐeÐeØ+°nÈoÐ^Ð^ð'ñ "ô "ð !ð $+ð,ð ,ð ,õ "Ø&¸VÐM]Ð4^Ð4^Ð3_Ð`Ð`Ø'°.È.ÐYÐYð#ñ ô ð ð  $ð%ð %ð %r8   N)	r;  r<  r=  r   r%  rŸ  r¤  r¦  r²  r3   r8   r6   ÚRPCr˜  g  sT   € € € € € Øˆ
ð	ð 	ð 	ð 	$Ð#Ð#Ø*Ð*Ð*Ø#Ð#Ð#ð	%ð 	%ð 	%ð 	%ð 	%r8   r³  c            	   “   ó2  •K  — t          ‰
dz  ¦  «        } |                      t          ddt          ‰
¦  «        ¬¦  «        ¦  «          ‰|  ‰	¦   «         ¦  «        }|                     dd¬¦  «        ƒ d {V —†}d„ |D ¦   «         }g d	¢}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )Nr?  r5   ÚPrA  r2  r5  ©r8  c                 ó   — g | ]
}|d          ‘ŒS rª   r3   rã   s     r6   r|   zLtest_codex_adapter_read_history_pages_turns.<locals>.run.<locals>.<listcomp>†  ó   € Ð)Ð)Ð)˜a��&”	Ð)Ð)Ð)r8   )r   r   r   r   r;   r~   r   r€   r"   r   r   r©  r9   r®  ©
r  rO  r  r   r"  rI   rJ   rN   rO   rP   )rR  Úadapterr›   rƒ   rd   rW   r„   rb   r–  r³  rP  s           €€€r6   rl  z8test_codex_adapter_read_history_pages_turns.<locals>.run€  s¡  øè è € Ý" 8¨oÑ#=Ñ>Ô>ˆØ�Š•W ¨#µC¸±M´MÐBÑBÔBÑCÔCÐCØ�,˜x¨¨©¬Ñ/Ô/ˆØ×*Ò*¨4¸bÐ*ÑAÔAÐAÐAÐAÐAÐAÐAˆà)Ð) 5Ð)Ñ)Ô)ÐWÐ-WÐ-WÐ-WÐWÐ)Ð-WÒWÐWÐWÐWÕWÔWÐWÐWÐWÐWÐ)Ð-WÐWÑWÔWÕWÔWÐ)ÑWÔWÕWÔWÐ-WÑWÔWÐWÐWÑWÐWÐWÐWÐWÐWÑWÐWÕWÕWÔWÐWÑWÔWÑWÔWÐWÐWÐWÐWÐWÐWÐWØ�QŒx˜ÔÐ2 ?Ð2Ð ?Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2Ð ?Ð2Ñ2Ô2Õ2Ô2ÐÑ2Ô2Õ2Ô2 ?Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ø�RŒy˜Ô Ð4Ð$4Ð4Ð Ð$4Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð Ð$4Ð4Ñ4Ô4Õ4Ô4Ð Ñ4Ô4Õ4Ô4Ð$4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4r8   ©Údevice_gateway.control.codexr–  r\  rl  ©rP  rl  r–  r³  s   ` @@r6   Ú+test_codex_adapter_read_history_pages_turnsr¾  d  s€   øøø€ Ø9Ð9Ð9Ð9Ð9Ð9ð%ð %ð %ð %ð %ñ %ô %ð %ð25ð 5ð 5ð 5ð 5ð 5ð 5õ „K��‘”ÑÔÐÐÐr8   c                 óŒ   ‡ ‡‡‡— ddl mŠ ddlmŠ  G ˆ fd„d¦  «        Šˆˆˆˆ fd„}t	          j         |¦   «         ¦  «         d S )Nr   ©Ú	PiAdapter©ÚPiSessionRegistryc                   ó    •— e Zd Zd„ Zˆ fd„ZdS )úHtest_pi_adapter_read_history_normalizes_and_does_not_resume.<locals>.RPCc                 ó   — g | _         d S r7  rš  rœ  s    r6   r%  zQtest_pi_adapter_read_history_normalizes_and_does_not_resume.<locals>.RPC.__init__’  r�  r8   c              “   ó"  •K  — | j                              ||f¦  «         |dk    r&t          ddt          ‰¦  «        dddddd¬¦	  «	        gS |d	k    �r/|d
         }t          ‰¦  «        }||k    }|sòt	          j        d|fd||f¦  «        t	          j        |¦  «        dt          j        ¦   «         v st	          j	        t          ¦  «        rt	          j        t          ¦  «        nddt          j        ¦   «         v st	          j	        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}ddddœddddœgdœddddœgdœgiS t          |¦  «        ‚)NÚlistr2  ÚNr)  FÚDORMANTr0   ©	r*  r¾   r,  r-  ÚliveÚstateÚrecent_textÚ
final_textÚlatest_activityr$  r,  r;   )z0%(py1)s == %(py6)s
{%(py6)s = %(py3)s(%(py4)s)
}r   rP  )r   r    r!   r"   r/   r#   r2   r   ÚqrØ   rÜ   r   ztool outputrn   r   Úa)r›  rQ   rF   r   rI   rJ   rN   rK   rL   rM   rO   rP   )	r#  r°  r±  rƒ   rX   rW   rb   rc   rP  s	           €r6   r²  zMtest_pi_adapter_read_history_normalizes_and_does_not_resume.<locals>.RPC.call•  sï  øè è € ØŒJ×Ò˜v vÐ.Ñ/Ô/Ð/Ø˜ÒÐÝ¨°3½CÀ¹M¼MØ(>ÀUÐR[Ø)+¸ÈBðPñ Pô Pð Qð Qð ˜Ò"Ñ"Ø˜e”}Ð5­¨H©¬Ð5�}¨Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5�}¨Ð5Ñ5Ô5Õ5Ô5�}Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5­Ñ5Ô5Ð5Õ5Ô5­Ñ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5¨HÑ5Ô5Ð5Õ5Ô5¨HÑ5Ô5Ð5Ð5Õ5Ô5¨Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø"Ø#°Ð4Ð4Ø)ÀÐP]Ð7^Ð7^Ð6_Ð`Ð`Ø(¸vÈsÐ6SÐ6SÐ5TÐUÐUð%ð ð õ
 ! Ñ(Ô(Ð(r8   N)r;  r<  r=  r%  r²  ©rP  s   €r6   r³  rÅ  ‘  s=   ø€ € € € € ð	ð 	ð 	ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)r8   r³  c            	   “   óº  •K  —  ‰¦   «         } t          ‰dz  ¦  «        }|                     t          ddt          ‰¦  «        ¬¦  «        ¦  «          ‰
| ‰¦   «         | ¦  «        }|                     d¦  «        ƒ d {V —†}d„ |D ¦   «         }ddg}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d         d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d„ | j
        D ¦   «         }	t          |	¦  «        }|s•ddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |	¦  «        t          j        |¦  «        dœz  }t          t          j	        |¦  «        ¦  «        ‚d x}	}d S )Nr?  r5   rµ  rA  r2  c                 ó   — g | ]
}|d          ‘ŒS rª   r3   rã   s     r6   r|   z\test_pi_adapter_read_history_normalizes_and_does_not_resume.<locals>.run.<locals>.<listcomp>¬  r¸  r8   r   r   r;   r~   r   r€   r"   r   r   rÒ  r   rÑ  c              3   ó$   K  — | ]\  }}|d v V — ŒdS ))rÈ  r$  Nr3   )r4   r°  r  s      r6   r7   z[test_pi_adapter_read_history_normalizes_and_does_not_resume.<locals>.run.<locals>.<genexpr>°  s,   è è € ÐLÐL±Y°V¸Q�6Ð0Ð0ÐLÐLÐLÐLÐLÐLr8   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úall)r   r>   r!   )r  rO  r  r   r"  rI   rJ   rN   rO   rP   r›  r×  rK   rL   rM   )ÚrpcrR  rº  r›   rƒ   rd   rW   r„   rb   re   rÁ  rÃ  r³  rP  s             €€€€r6   rl  zHtest_pi_adapter_read_history_normalizes_and_does_not_resume.<locals>.run¤  sa  øè è € Øˆc‰eŒeˆÝ" 8¨oÑ#=Ñ>Ô>ˆØ�Š•W ¨#µC¸±M´MÐBÑBÔBÑCÔCÐCØ�)˜HÐ&7Ð&7Ñ&9Ô&9¸3Ñ?Ô?ˆØ×*Ò*¨4Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0ˆð *Ð) 5Ð)Ñ)Ô)ÐB¨k¸6Ð-BÐBÐ)Ð-BÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ)Ð-BÐBÑBÔBÕBÔBÐ)ÑBÔBÕBÔBÐ-BÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBØ�QŒx˜ÔÐ& 3Ð&Ð 3Ò&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð 3Ð&Ñ&Ô&Õ&Ô&ÐÑ&Ô&Õ&Ô& 3Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø�QŒx˜ÔÐ& 3Ð&Ð 3Ò&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð 3Ð&Ñ&Ô&Õ&Ô&ÐÑ&Ô&Õ&Ô& 3Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&àLÐLÀ#Ä)ÐLÑLÔLÐL�sÐLÑLÔLÐLÐLÐLÐLÐLÕLÔLÑLÔLÐLÐLÕLÔL�sÑLÔLÐLÕLÔL�sÑLÔLÐLÐLÕLÔLÐLÑLÔLÕLÔLÐLÑLÔLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLr8   ©Údevice_gateway.control.pirÁ  Údevice_gateway.integrations.pirÃ  r\  rl  ©rP  rl  rÁ  rÃ  r³  s   ` @@@r6   Ú;test_pi_adapter_read_history_normalizes_and_does_not_resumerÝ  �  sª   øøøø€ Ø3Ð3Ð3Ð3Ð3Ð3Ø@Ð@Ð@Ð@Ð@Ð@ð)ð )ð )ð )ð )ð )ð )ñ )ô )ð )ð&Mð Mð Mð Mð Mð Mð Mð Mõ „K��‘”ÑÔÐÐÐr8   c                 óŒ   ‡ ‡‡‡— ddl mŠ ddlmŠ  G ˆ fd„d¦  «        Šˆˆˆˆ fd„}t	          j         |¦   «         ¦  «         dS )z=The Pi SDK tail is oldest-first; the adapter must reverse it.r   rÀ  rÂ  c                   ó   •— e Zd Zˆ fd„ZdS )ú4test_pi_adapter_history_is_newest_first.<locals>.RPCc              “   ó²   •K  — |dk    r&t          ddt          ‰¦  «        dddddd¬¦	  «	        gS |d	k    rd
dddœddddœgdœdddœgiS t          |¦  «        ‚)NrÈ  r2  rÉ  r)  FrÊ  r0   rË  r$  r2   r   rê   rØ   r   r   Úmiddlern   Únewest)rF   r   rO   )r#  r°  r±  rP  s      €r6   r²  z9test_pi_adapter_history_is_newest_first.<locals>.RPC.call»  s©   øè è € Ø˜ÒÐÝ¨°3½CÀ¹M¼MØ(>ÀUÐR[Ø)+¸ÈBðPñ Pô Pð Qð Qð ˜Ò"Ð"Ø"Ø#°Ð9Ð9Ø(¸vÈxÐ6XÐ6XÐ5YÐZÐZØ#°Ð9Ð9ð%ð ð õ
 ! Ñ(Ô(Ð(r8   N)r;  r<  r=  r²  rÓ  s   €r6   r³  rà  º  s.   ø€ € € € € ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)r8   r³  c            	   “   ó  •K  — t          ‰dz  ¦  «        } |                      t          ddt          ‰¦  «        ¬¦  «        ¦  «          ‰|  ‰	¦   «          ‰
¦   «         ¦  «        }|                     d¦  «        ƒ d {V —†}d„ |D ¦   «         }g d¢}||k    }|slt          j        d|fd	||f¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )Nr?  r5   rµ  rA  r2  c                 ó   — g | ]
}|d          ‘ŒS ry   r3   rã   s     r6   r|   zHtest_pi_adapter_history_is_newest_first.<locals>.run.<locals>.<listcomp>Í  r¸  r8   )rã  râ  rê   r;   r~   r   r€   r"   r¹  )rR  rº  r›   rƒ   rd   rW   r„   rb   rÁ  rÃ  r³  rP  s           €€€€r6   rl  z4test_pi_adapter_history_is_newest_first.<locals>.runÈ  sJ  øè è € Ý" 8¨oÑ#=Ñ>Ô>ˆØ�Š•W ¨#µC¸±M´MÐBÑBÔBÑCÔCÐCØ�)˜HÐ&7Ð&7Ñ&9Ô&9¸3¸3¹5¼5ÑAÔAˆØ×*Ò*¨4Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0ˆØ)Ð) 5Ð)Ñ)Ô)ÐKÐ-KÐ-KÐ-KÐKÐ)Ð-KÒKÐKÐKÐKÕKÔKÐKÐKÐKÐKÐ)Ð-KÐKÑKÔKÕKÔKÐ)ÑKÔKÕKÔKÐ-KÑKÔKÐKÐKÑKÐKÐKÐKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKÐKÐKÐKÐKr8   NrÙ  rÜ  s   ` @@@r6   Ú'test_pi_adapter_history_is_newest_firstræ  µ  sª   øøøø€ à3Ð3Ð3Ð3Ð3Ð3Ø@Ð@Ð@Ð@Ð@Ð@ð)ð )ð )ð )ð )ð )ð )ñ )ô )ð )ðLð Lð Lð Lð Lð Lð Lð Lõ „K��‘”ÑÔÐÐÐr8   c                   ó   — e Zd ZdZd„ Zd„ ZdS )Ú_HistoryRPCzDMinimal Pi SDK host stand-in returning one oldest-first native tail.c                 ó   — || _         d S r7  )r2   )r#  r2   s     r6   r%  z_HistoryRPC.__init__×  s   € Ø ˆŒˆˆr8   c              ƒ   óŠ   K  — |dk    rt          dd| j        dddddd¬¦	  «	        gS |d	k    r	d
| j        iS t          |¦  «        ‚)NrÈ  r2  rÉ  r)  FrÊ  r0   rË  r$  r2   )rF   r,  r2   rO   ©r#  r°  r±  s      r6   r²  z_HistoryRPC.callÚ  sp   è è € Ø�VÒÐÝ D¨s¸¼ÐMcØ#¨9À"ÐQSÐegðiñ iô ið jð jà�YÒÐØ ¤Ð.Ð.Ý˜VÑ$Ô$Ð$r8   N)r;  r<  r=  Ú__doc__r%  r²  r3   r8   r6   rè  rè  Ô  s8   € € € € € ØNÐNð!ð !ð !ð%ð %ð %ð %ð %r8   rè  c                 ó¨   ‡ ‡‡‡‡— ddl mŠ ddlmŠ dŠd„ t	          ‰¦  «        D ¦   «         Šˆˆˆˆˆ fd„}t          j         |¦   «         ¦  «         dS )zßnative adapter -> normalized history -> pagination, end to end.

    The first page must be the newest message, and Older pages must walk strictly
    backwards in time until the oldest message is reached exactly once.
    r   rÀ  rÂ  rý   c                 ó4   — g | ]}|d z  dk    rdndd|› �dœ‘ŒS )râ   r   r   r   r{   rØ   r3   rã   s     r6   r|   z9test_adapter_to_pagination_full_chain.<locals>.<listcomp>í  sF   € ð %ð %ð %Øð "# Q¡¨!¢ �v�v°ÈÈQÈÈÐQÐQð %ð %ð %r8   c            	   “   ó  •K  — t          ‰¦  «        } t          ‰¦  «        | _        t          ‰dz  ¦  «        }|                     t          ddt          ‰¦  «        ¬¦  «        ¦  «          ‰| ‰¦   «         | ¦  «        }|                     dd¬¦  «        ƒ d {V —†}|d         d	         }d
‰dz
  › �}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d	         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}g d d}}
}	t          d¦  «        D ]Q}t          ||
dd¬¦  «        }|	                     d„ |d         D ¦   «         ¦  «         |dz  }|d         r n	|d         }
ŒRd„ t          t          ‰¦  «        ¦  «        D ¦   «         }|	|k    }|s—t          j        d|fd|	|f¦  «        dt!          j        ¦   «         v st          j        |	¦  «        rt          j	        |	¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d }||k    }|s—t          j        d|fd||f¦  «        d!t!          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd!t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d S )"Nr?  r5   rµ  rA  r2  r5  r¶  r   r   r{   r   r;   r~   r   r€   r"   r9   Úm0ræ   rç   r   c              3   ó&   K  — | ]}|d          V — ŒdS rÿ   r3   rz   s     r6   r7   zEtest_adapter_to_pagination_full_chain.<locals>.run.<locals>.<genexpr>ý  s&   è è € Ð<Ð< a˜˜&œ	Ð<Ð<Ð<Ð<Ð<Ð<r8   r2   rê   r*   c                 ó   — g | ]}d |› �‘ŒS )r{   r3   rã   s     r6   r|   zFtest_adapter_to_pagination_full_chain.<locals>.run.<locals>.<listcomp>  s   € Ð@Ð@Ð@ A˜˜A˜˜Ð@Ð@Ð@r8   rA   r  rC   rD   rE   rè   r-   )rè  r   r,  r  rO  r  r"  rI   rJ   rN   rO   rP   rT   r   r  ÚreversedrK   rL   rM   )rØ  rR  rº  r´   rƒ   rd   rW   r„   rb   r  rV   r-   r  r   re   ri   rj   rÁ  rÃ  rä   ÚnativerP  s                    €€€€€r6   rl  z2test_adapter_to_pagination_full_chain.<locals>.runð  s1  øè è € Ý˜&Ñ!Ô!ˆÝ�h‘-”-ˆŒÝ" 8¨oÑ#=Ñ>Ô>ˆØ�Š•W ¨#µC¸±M´MÐBÑBÔBÑCÔCÐCØ�)˜HÐ&7Ð&7Ñ&9Ô&9¸3Ñ?Ô?ˆØ"×/Ò/°À2Ð/ÑFÔFÐFÐFÐFÐFÐFÐFˆ
Ø˜!Œ}˜VÔ$Ð7¨¨E°A©I¨¨Ð7Ð$¨Ò7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð$¨Ð7Ñ7Ô7Õ7Ô7Ð$Ñ7Ô7Õ7Ô7¨Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø˜"Œ~˜fÔ%Ð-¨Ð-Ð%¨Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð%¨Ð-Ñ-Ô-Õ-Ô-Ð%Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-à  $¨�eˆfˆÝ�r‘”ð 	)ð 	)ˆAÝ˜j¨&¸ÈÐKÑKÔKˆDØ�KŠKÐ<Ð<¨4°
Ô+;Ð<Ñ<Ô<Ñ<Ô<Ð<Ø�Q‰JˆEØ�HŒ~ð Ø�Ø˜-Ô(ˆFˆFà@Ð@­µ%¸±,´,Ñ)?Ô)?Ð@Ñ@Ô@Ð@ˆtÐ@Ò@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@ˆtÐ@Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@ˆtÑ@Ô@Ð@Õ@Ô@ˆtÑ@Ô@Ð@Ð@Õ@Ô@Ð@Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@ØÐˆu˜ŠzÐÐÐÕÔÐÐÐÐˆu˜ÐÑÔÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐr8   N)rÚ  rÁ  rÛ  rÃ  rT   r\  rl  )rP  rl  rÁ  rÃ  rä   rô  s   ` @@@@r6   Ú%test_adapter_to_pagination_full_chainrõ  ã  s¡   øøøøø€ ð 4Ð3Ð3Ð3Ð3Ð3Ø@Ð@Ð@Ð@Ð@Ð@à€Eð%ð %Ý˜U‘|”|ð%ñ %ô %€Fðð ð ð ð ð ð ð ð õ, „K��‘”ÑÔÐÐÐr8   c                 óx   ‡ ‡‡— ddl mŠ  G d„ d¦  «        Šˆˆˆ fd„}t          j         |¦   «         ¦  «         dS )z@Codex content[] -> normalized history -> pagination, end to end.r   r•  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ú8test_codex_adapter_to_pagination_full_chain.<locals>.RPCr   c              “   ó
   K  — d S r7  r3   rœ  s    r6   rŸ  z>test_codex_adapter_to_pagination_full_chain.<locals>.RPC.start  r   r8   c              “   ó
   K  — d S r7  r3   r¢  s     r6   r¤  z>test_codex_adapter_to_pagination_full_chain.<locals>.RPC.write  r   r8   c              “   ó
   K  — d S r7  r3   rœ  s    r6   r¦  z>test_codex_adapter_to_pagination_full_chain.<locals>.RPC.close  r   r8   c              “   óÀ   K  — |dk    ri S |                      d¦  «        € t          ddddœgdœdd	d
dœg¦  «        gddœS t          ddddœgdœdd	ddœg¦  «        gd dœS )Nr¨  rV   rm   r   únewest qrn   rŸ   rp   r¦   únewest ar¤   Úp2r«  úolder qúolder a)r¯  r‚   rë  s      r6   r²  z=test_codex_adapter_to_pagination_full_chain.<locals>.RPC.call  sÇ   è è € Ø˜Ò%Ð%Ø�	à�zŠz˜(Ñ#Ô#Ð+Ý!%Ø*ÀÐQ[Ð8\Ð8\Ð7]Ð^Ð^Ø+°nÈjÐYÐYð'ñ "ô "ð !ð $(ð)ð )ð )õ "Ø&¸VÈYÐ4WÐ4WÐ3XÐYÐYØ'°.È)ÐTÐTð#ñ ô ð ð  $ð%ð %ð %r8   N)r;  r<  r=  r   rŸ  r¤  r¦  r²  r3   r8   r6   r³  rø    sC   € € € € € Øˆ
à#Ð#Ð#Ø*Ð*Ð*Ø#Ð#Ð#ð	%ð 	%ð 	%ð 	%ð 	%r8   r³  c            	   “   óÚ  •K  — t          ‰dz  ¦  «        } |                      t          ddt          ‰¦  «        ¬¦  «        ¦  «          ‰|  ‰¦   «         ¦  «        }|                     dd¬¦  «        ƒ d {V —†}d„ |D ¦   «         }g d	¢}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}t          |d dd¬¦  «        }d„ |d         D ¦   «         }g d	¢}||k    }|slt          j        d
|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}g }	|d         }|}|r|d         }
|
 }|}|sžddt          j        |¦  «        iz  }|	                     |¦  «         |r.ddt          j        |
¦  «        iz  }|	                     |¦  «         t          j        |	d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	x}x}
}d S )Nr?  r5   rµ  rA  r2  r5  r¶  c                 ó   — g | ]
}|d          ‘ŒS ry   r3   rz   s     r6   r|   zLtest_codex_adapter_to_pagination_full_chain.<locals>.run.<locals>.<listcomp>(  s   € Ð.Ð.Ð.˜a��&”	Ð.Ð.Ð.r8   )rþ  rý  r  r   r;   r~   r   r€   r"   r   r   r   c                 ó   — g | ]
}|d          ‘ŒS ry   r3   rz   s     r6   r|   zLtest_codex_adapter_to_pagination_full_chain.<locals>.run.<locals>.<listcomp>*  s   € Ð4Ð4Ð4˜a��&”	Ð4Ð4Ð4r8   r2   rê   r*   z%(py3)sr    znot %(py6)sr   r�   r$   )r  rO  r  r   r"  rI   rJ   rN   rO   rP   r   rQ   rx  )rR  rº  r´   rƒ   rd   rW   r„   rb   r   re   rX   rY   ri   r”   rc   rf   r–  r³  rP  s                   €€€r6   rl  z8test_codex_adapter_to_pagination_full_chain.<locals>.run"  s"  øè è € Ý" 8¨oÑ#=Ñ>Ô>ˆØ�Š•W ¨#µC¸±M´MÐBÑBÔBÑCÔCÐCØ�,˜x¨¨©¬Ñ/Ô/ˆØ"×/Ò/°À2Ð/ÑFÔFÐFÐFÐFÐFÐFÐFˆ
à.Ð. :Ð.Ñ.Ô.Ð`Ð2`Ð2`Ð2`Ð`Ð.Ð2`Ò`Ð`Ð`Ð`Õ`Ô`Ð`Ð`Ð`Ð`Ð.Ð2`Ð`Ñ`Ô`Õ`Ô`Ð.Ñ`Ô`Õ`Ô`Ð2`Ñ`Ô`Ð`Ð`Ñ`Ð`Ð`Ð`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ý˜* d°'ÀaÐHÑHÔHˆØ4Ð4 4¨
Ô#3Ð4Ñ4Ô4ÐfÐ8fÐ8fÐ8fÐfÐ4Ð8fÒfÐfÐfÐfÕfÔfÐfÐfÐfÐfÐ4Ð8fÐfÑfÔfÕfÔfÐ4ÑfÔfÕfÔfÐ8fÑfÔfÐfÐfÑfÐfÐfÐfÐfÐfÑfÐfÕfÕfÔfÐfÑfÔfÑfÔfÐfÐfÐfÐfÐfÐfÐfØ9Ð9ˆt�HŒ~Ð9ˆ~Ð9ˆ~Ð9 d¨=Ô&9Ð9Ð&9Ð"9Ð9Ð"9Ð9Ð9Ð9Ð9Ð9Õ9Ô9ˆ~Ñ9Ô9Ð9Ñ9Ð9Ð9×9Ò9Ð9Ñ9Ô9Ð9ˆ~Ð9Ð9Ð9Õ9Ô9Ð&9Ñ9Ô9Ð9Ñ9Ð9Ð9×9Ò9Ð9Ñ9Ô9Ð9Õ9Ô9Ð9Ð9Ñ9Ô9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r8   Nr»  r½  s   ` @@r6   Ú+test_codex_adapter_to_pagination_full_chainr  	  s€   øøø€ à9Ð9Ð9Ð9Ð9Ð9ð%ð %ð %ð %ð %ñ %ô %ð %ð*	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:õ „K��‘”ÑÔÐÐÐr8   )r—   r˜   r7  )rV  )@rì  ÚbuiltinsrK   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterI   r\  r   r  Údevice_gateway.control.historyr   r   r   r   r   r   r	   r
   r   rk   r…   r–   r‚   r¶   rÅ   rÍ   rÔ   rß   r2   rû   r  r  r  Útypesr  r  r  r  r  Ú device_gateway.control.navigatorr  Ú!device_gateway.control.operationsr  Údevice_gateway.control.projectsr  Ú!device_gateway.control.user_inputr  Údevice_gateway.stater  r  rU  r_  ro  rz  r}  rƒ  r“  r¾  rÝ  ræ  rè  rõ  r  r3   r8   r6   ú<module>r     sA  ðØ PÐ PØ  € € € € € € € € € € € € €€€€Ø €€€à €€€ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð
$ð $ð $ð"pð pð pð*ð *ð *ðGð Gð Gð Gð%ð %ð %ð&0ð 0ð 0ð2Eð Eð Eð Hð Hð Hð%ð %ð %ð&#ð #ð #ð
	:ð 	:ð 	:ðOð Oð Oð"ð ð ð	 ð 	 ð 	 ð "Ð !Ð !Ð !Ð !Ð !à MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ð-ð -ð -ð -ð -ñ -ô -ð -ð,%ð %ð %ð %ðWð Wð Wð Wðð ð ð ð ð ð4	ð 	ð 	ðð ð ð&ð ð ðB&ð &ð &ðR%ð %ð %ðPð ð ð>%ð %ð %ð %ð %ñ %ô %ð %ð#ð #ð #ðL$ð $ð $ð $ð $r8   