
(/VERSIONCHECK 2) 

(DEFUN |KDAGG-;key?;KeySB;1| (|k| |t| $)
  (QEQCAR (SPADCALL |k| |t| (QREFELT $ 10)) 0)) 

(DEFUN |KDAGG-;member?;RSB;2| (|p| |t| $)
  (PROG (|r|)
    (RETURN
     (SEQ
      (LETT |r| (SPADCALL (QCAR |p|) |t| (QREFELT $ 10))
            |KDAGG-;member?;RSB;2|)
      (EXIT
       (COND ((QEQCAR |r| 0) (SPADCALL (QCDR |r|) (QCDR |p|) (QREFELT $ 13)))
             ('T 'NIL))))))) 

(DEFUN |KDAGG-;keys;SL;3| (|t| $)
  (PROG (#1=#:G3923 |x| #2=#:G3922)
    (RETURN
     (SEQ
      (PROGN
       (LETT #2# NIL . #3=(|KDAGG-;keys;SL;3|))
       (SEQ (LETT |x| NIL . #3#) (LETT #1# (SPADCALL |t| (QREFELT $ 17)) . #3#)
            G190
            (COND
             ((OR (ATOM #1#) (PROGN (LETT |x| (CAR #1#) . #3#) NIL))
              (GO G191)))
            (SEQ (EXIT (LETT #2# (CONS (QCAR |x|) #2#) . #3#)))
            (LETT #1# (CDR #1#) . #3#) (GO G190) G191
            (EXIT (NREVERSE0 #2#)))))))) 

(DEFUN |KeyedDictionary&| (|#1| |#2| |#3|)
  (PROG (|pv$| $ |dv$| DV$3 DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|KeyedDictionary&|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT DV$3 (|devaluate| |#3|) . #1#)
      (LETT |dv$| (LIST '|KeyedDictionary&| DV$1 DV$2 DV$3) . #1#)
      (LETT $ (GETREFV 20) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8 |#3|)
      (COND
       ((|HasCategory| |#1| '(|finiteAggregate|))
        (QSETREFV $ 19 (CONS (|dispatchFunction| |KDAGG-;keys;SL;3|) $))))
      $)))) 

(MAKEPROP '|KeyedDictionary&| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (|Union| 8 '"failed") (0 . |search|) (|Boolean|)
              |KDAGG-;key?;KeySB;1| (6 . =)
              (|Record| (|:| |key| 7) (|:| |entry| 8)) |KDAGG-;member?;RSB;2|
              (|List| 14) (12 . |parts|) (|List| 7) (17 . |keys|))
           '#(|member?| 22 |keys| 28 |key?| 33) 'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 19
                                                 '(2 6 9 7 0 10 2 8 11 0 0 13 1
                                                   6 16 0 17 1 0 18 0 19 2 0 11
                                                   14 0 15 1 0 18 0 19 2 0 11 7
                                                   0 12)))))
           '|lookupComplete|)) 
