
(/VERSIONCHECK 2) 

(PUT '|STRING;string;I$;1| '|SPADreplace| 'STRINGIMAGE) 

(DEFUN |STRING;string;I$;1| (|n| $) (STRINGIMAGE |n|)) 

(DEFUN |STRING;OMwrite;2$;2| (|x| $)
  (PROG (|s| |dev| |sp|)
    (RETURN
     (SEQ (LETT |s| "" . #1=(|STRING;OMwrite;2$;2|))
          (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) . #1#)
          (LETT |dev| (SPADCALL |sp| (SPADCALL (QREFELT $ 9)) (QREFELT $ 12))
                . #1#)
          (SPADCALL |dev| (QREFELT $ 14)) (SPADCALL |dev| |x| (QREFELT $ 15))
          (SPADCALL |dev| (QREFELT $ 16)) (SPADCALL |dev| (QREFELT $ 17))
          (LETT |s| (OM-STRINGPTRTOSTRING |sp|) . #1#) (EXIT |s|))))) 

(DEFUN |STRING;OMwrite;$B$;3| (|x| |wholeObj| $)
  (PROG (|s| |dev| |sp|)
    (RETURN
     (SEQ (LETT |s| "" . #1=(|STRING;OMwrite;$B$;3|))
          (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) . #1#)
          (LETT |dev| (SPADCALL |sp| (SPADCALL (QREFELT $ 9)) (QREFELT $ 12))
                . #1#)
          (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 14))))
          (SPADCALL |dev| |x| (QREFELT $ 15))
          (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 16))))
          (SPADCALL |dev| (QREFELT $ 17))
          (LETT |s| (OM-STRINGPTRTOSTRING |sp|) . #1#) (EXIT |s|))))) 

(DEFUN |STRING;OMwrite;Omd$V;4| (|dev| |x| $)
  (SEQ (SPADCALL |dev| (QREFELT $ 14)) (SPADCALL |dev| |x| (QREFELT $ 15))
       (EXIT (SPADCALL |dev| (QREFELT $ 16))))) 

(DEFUN |STRING;OMwrite;Omd$BV;5| (|dev| |x| |wholeObj| $)
  (SEQ (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 14))))
       (SPADCALL |dev| |x| (QREFELT $ 15))
       (EXIT (COND (|wholeObj| (SPADCALL |dev| (QREFELT $ 16))))))) 

(DEFUN |String| #1=()
  (PROG #1#
    (RETURN
     (PROG (#2=#:G17483)
       (RETURN
        (COND
         ((LETT #2# (HGET |$ConstructorCache| '|String|) . #3=(|String|))
          (|CDRwithIncrement| (CDAR #2#)))
         ('T
          (UNWIND-PROTECT
              (PROG1
                  (CDDAR
                   (HPUT |$ConstructorCache| '|String|
                         (LIST (CONS NIL (CONS 1 (|String;|))))))
                (LETT #2# T . #3#))
            (COND ((NOT #2#) (HREM |$ConstructorCache| '|String|))))))))))) 

(DEFUN |String;| ()
  (PROG (|dv$| $ #1=#:G17480 |pv$| #2=#:G17481)
    (RETURN
     (PROGN
      (LETT |dv$| '(|String|) . #3=(|String|))
      (LETT $ (GETREFV 40) . #3#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| (|Character|)
                                                         '(|ConvertibleTo|
                                                           (|InputForm|)))
                                          (|HasCategory| (|Character|)
                                                         '(|OrderedSet|))
                                          (|HasCategory| (|Integer|)
                                                         '(|OrderedSet|))
                                          (|HasCategory| (|Character|)
                                                         '(|SetCategory|))
                                          (LETT #1#
                                                (AND
                                                 (|HasCategory| (|Character|)
                                                                '(|Evalable|
                                                                  (|Character|)))
                                                 (|HasCategory| (|Character|)
                                                                '(|SetCategory|)))
                                                . #3#)
                                          (OR
                                           (AND
                                            (|HasCategory| (|Character|)
                                                           '(|Evalable|
                                                             (|Character|)))
                                            (|HasCategory| (|Character|)
                                                           '(|OrderedSet|)))
                                           #1#)))
                      . #3#))
      (|haddProp| |$ConstructorCache| '|String| NIL (CONS 1 $))
      (|stuffDomainSlots| $)
      (AND (LETT #2# (|HasCategory| $ '(|finiteAggregate|)) . #3#)
           (|augmentPredVector| $ 64))
      (AND #2# (|HasCategory| (|Character|) '(|SetCategory|))
           (|augmentPredVector| $ 128))
      (AND (|HasCategory| $ '(|shallowlyMutable|)) (|augmentPredVector| $ 256))
      (AND (|HasCategory| $ '(|shallowlyMutable|))
           (|HasCategory| (|Character|) '(|OrderedSet|))
           (|augmentPredVector| $ 512))
      $)))) 

(MAKEPROP '|String| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|IndexedString| (NRTEVAL 1)) (|Integer|)
              |STRING;string;I$;1| (|OpenMathEncoding|) (0 . |OMencodingXML|)
              (|String|) (|OpenMathDevice|) (4 . |OMopenString|) (|Void|)
              (10 . |OMputObject|) (15 . |OMputString|) (21 . |OMputEndObject|)
              (26 . |OMclose|) |STRING;OMwrite;2$;2| (|Boolean|)
              |STRING;OMwrite;$B$;3| |STRING;OMwrite;Omd$V;4|
              |STRING;OMwrite;Omd$BV;5| (|List| 24) (|Character|) (|List| 26)
              (|Equation| 24) (|Mapping| 24 24 24) (|NonNegativeInteger|)
              (|InputForm|) (|Mapping| 19 24) (|Mapping| 19 24 24)
              (|UniversalSegment| 6) (|Mapping| 24 24) (|SingleInteger|)
              (|OutputForm|) (|CharacterClass|) (|List| $)
              (|Union| 24 '"failed") (|List| 6))
           '#(~= 31 |upperCase!| 37 |upperCase| 42 |trim| 47 |swap!| 59
              |suffix?| 66 |substring?| 72 |string| 79 |split| 84 |sorted?| 96
              |sort!| 107 |sort| 118 |smaller?| 129 |size?| 135 |setelt| 141
              |select| 155 |sample| 161 |rightTrim| 165 |reverse!| 177
              |reverse| 182 |replace| 187 |removeDuplicates| 194 |remove| 199
              |reduce| 211 |qsetelt!| 232 |qelt| 239 |prefix?| 245 |position|
              251 |parts| 284 |new| 289 |more?| 295 |minIndex| 301 |min| 306
              |merge| 312 |members| 325 |member?| 330 |maxIndex| 336 |max| 341
              |match?| 347 |match| 354 |map!| 361 |map| 367 |lowerCase!| 380
              |lowerCase| 385 |less?| 390 |leftTrim| 396 |latex| 408 |insert|
              413 |indices| 427 |index?| 432 |hash| 438 |first| 443 |find| 448
              |fill!| 454 |every?| 460 |eval| 466 |eq?| 492 |entry?| 498
              |entries| 504 |empty?| 509 |empty| 514 |elt| 518 |delete| 543
              |count| 555 |copyInto!| 567 |copy| 574 |convert| 579 |construct|
              584 |concat| 589 |coerce| 612 |any?| 622 |OMwrite| 628 >= 652 >
              658 = 664 <= 670 < 676 |#| 682)
           'NIL
           (CONS
            (|makeByteWordVec2| 6
                                '(0 0 0 0 0 0 0 2 0 2 0 0 0 6 0 0 0 0 0 0 0 6
                                  1))
            (CONS
             '#(NIL |StringAggregate&| |OneDimensionalArrayAggregate&|
                |FiniteLinearAggregate&| |LinearAggregate&| |IndexedAggregate&|
                |Collection&| |OrderedSet&| |HomogeneousAggregate&| NIL
                |Aggregate&| |EltableAggregate&| |SetCategory&| |Evalable&| NIL
                NIL NIL NIL NIL NIL |BasicType&| |InnerEvalable&| NIL)
             (CONS
              '#((|StringCategory|) (|StringAggregate|)
                 (|OneDimensionalArrayAggregate| 24)
                 (|FiniteLinearAggregate| 24) (|LinearAggregate| 24)
                 (|IndexedAggregate| 6 24) (|Collection| 24) (|OrderedSet|)
                 (|HomogeneousAggregate| 24) (|Comparable|) (|Aggregate|)
                 (|EltableAggregate| 6 24) (|SetCategory|) (|Evalable| 24)
                 (|OpenMath|) (|shallowlyMutable|) (|finiteAggregate|) (|Type|)
                 (|Eltable| 6 24) (|CoercibleTo| 35) (|BasicType|)
                 (|InnerEvalable| 24 24) (|ConvertibleTo| 29))
              (|makeByteWordVec2| 39
                                  '(0 8 0 9 2 11 0 10 8 12 1 11 13 0 14 2 11 13
                                    0 10 15 1 11 13 0 16 1 11 13 0 17 2 0 19 0
                                    0 1 1 0 0 0 1 1 0 0 0 1 2 0 0 0 36 1 2 0 0
                                    0 24 1 3 9 13 0 6 6 1 2 0 19 0 0 1 3 0 19 0
                                    0 6 1 1 0 0 6 7 2 0 37 0 36 1 2 0 37 0 24 1
                                    1 2 19 0 1 2 0 19 31 0 1 1 10 0 0 1 2 9 0
                                    31 0 1 1 2 0 0 1 2 0 0 31 0 1 2 2 19 0 0 1
                                    2 0 19 0 28 1 3 9 24 0 32 24 1 3 9 24 0 6
                                    24 1 2 7 0 30 0 1 0 0 0 1 2 0 0 0 24 1 2 0
                                    0 0 36 1 1 9 0 0 1 1 0 0 0 1 3 0 0 0 32 0 1
                                    1 8 0 0 1 2 8 0 24 0 1 2 7 0 30 0 1 4 8 24
                                    27 0 24 24 1 3 7 24 27 0 24 1 2 7 24 27 0 1
                                    3 9 24 0 6 24 1 2 0 24 0 6 1 2 0 19 0 0 1 2
                                    4 6 24 0 1 3 4 6 24 0 6 1 3 0 6 36 0 6 1 3
                                    0 6 0 0 6 1 2 0 6 30 0 1 1 7 23 0 1 2 0 0
                                    28 24 1 2 0 19 0 28 1 1 3 6 0 1 2 2 0 0 0 1
                                    2 2 0 0 0 1 3 0 0 31 0 0 1 1 7 23 0 1 2 8
                                    19 24 0 1 1 3 6 0 1 2 2 0 0 0 1 3 0 19 0 0
                                    24 1 3 0 28 0 0 24 1 2 9 0 33 0 1 3 0 0 27
                                    0 0 1 2 0 0 33 0 1 1 0 0 0 1 1 0 0 0 1 2 0
                                    19 0 28 1 2 0 0 0 36 1 2 0 0 0 24 1 1 0 10
                                    0 1 3 0 0 0 0 6 1 3 0 0 24 0 6 1 1 0 39 0 1
                                    2 0 19 6 0 1 1 0 34 0 1 1 3 24 0 1 2 0 38
                                    30 0 1 2 9 0 0 24 1 2 7 19 30 0 1 3 5 0 0
                                    23 23 1 3 5 0 0 24 24 1 2 5 0 0 25 1 2 5 0
                                    0 26 1 2 0 19 0 0 1 2 8 19 24 0 1 1 0 23 0
                                    1 1 0 19 0 1 0 0 0 1 2 0 0 0 0 1 2 0 0 0 32
                                    1 3 0 24 0 6 24 1 2 0 24 0 6 1 2 0 0 0 6 1
                                    2 0 0 0 32 1 2 8 28 24 0 1 2 7 28 30 0 1 3
                                    9 0 0 0 6 1 1 0 0 0 1 1 1 29 0 1 1 0 0 23 1
                                    2 0 0 0 0 1 1 0 0 37 1 2 0 0 24 0 1 2 0 0 0
                                    24 1 1 0 35 0 1 1 0 0 24 1 2 7 19 30 0 1 2
                                    0 13 11 0 21 3 0 13 11 0 19 22 2 0 10 0 19
                                    20 1 0 10 0 18 2 2 19 0 0 1 2 2 19 0 0 1 2
                                    0 19 0 0 1 2 2 19 0 0 1 2 2 19 0 0 1 1 7 28
                                    0 1)))))
           '|lookupComplete|)) 

(MAKEPROP '|String| 'NILADIC T) 
