%%HP: T(3)A(D)F(.);
\<< CLEAR
"The HP Address Book"
{ { "Keyword?" } }
{ 1 0 } FINDIT 1
\->LIST DUP INFORM
  IF 0 ==
  THEN 'THISIT'
PURGE CENTRAL
  END 0 'FOUNDOUT'
STO { } 'NEWLIST'
STO OBJ\-> DROP
'FINDIT' STO THISIT
OBJ\-> DUP 'STATUS'
STO 1 SWAP CLLCD
  FOR j "Status:" 1
DISP "Searching:"
FINDIT ADD 3 DISP j
STATUS / 100 * 2
RND 1 \->LIST \->STR 7
DISP DUP OBJ\-> OBJ\->
1 SWAP
    FOR k DUP \->STR
4 DISP
      IF FINDIT ==
      THEN 1
'FOUNDOUT' STO
"Status: MATCH" 1
DISP NOISE
      END
    NEXT FOUNDOUT
    IF 1 ==
    THEN NEWLIST
OBJ\-> 1 + \->LIST
'NEWLIST' 0
'FOUNDOUT' STO STO
    ELSE DROP
    END
  NEXT NEWLIST OBJ\->
  IF 0 ==
  THEN CLEAR
'NEWLIST' PURGE
'FOUNDOUT' PURGE
FORMAT (-6.2,1.8)
"I,m sorry! There are"
2 GLABEL (-6.2,.8)
"no matches for:" 2
GLABEL (-6.2,-.7)
FINDIT \->STR 2
GLABEL 0 WAIT DROP
VIEWNTRY
  ELSE CLEAR
NEWLIST 'THISIT'
STO
  END 'NEWLIST'
PURGE 'FOUNDOUT'
PURGE VIEWNTRY
\>>
