DW@*      !"#$%&'()Safe *+,-./0123456+123456 *+,-./0123456None(KL -String initialization. Error returned if the 7 is too large. Store a constant string into an 8. Error returned if the 7 is too large.5Copy a Haskell string directly to an array of uint8s.9#Binding to the C "memcmp" function.:#Binding to the C "memcpy" function.Return the length of a string..Copy one string into another of the same type.;2Internal function to compare strings for equality.Compare strings (of possibly different types) for equality. Returns true if the strings are the same length and contain the same bytes.<?Primitive function to do a bounded null-terminated string copy.Copy the contents of a fixed-size C string into an Ivory string. If the source string is not null terminated (and therefore corrupt), this will copy no more than len characters.<FIXME: This should return false if the string was truncated.Copy an Ivory string to a fixed-size, null-terminated C string. The destination string is always properly terminated, but may be truncated if the buffer is too small.<FIXME: This should return false if the string was truncated.Ivory module definition.=>?@A9:;<   =>?@A9:;< None(4KL VInfix structure field access and dereference. This is a shorthand for 'deref $ s~>x'. 5Modify the value stored at a reference by a function. ]Modify the value stored at a reference by a function that returns a value in the Ivory monad *Increment the value stored at a reference.     None(479>=Return a boolean field indicating whether the value is valid.4Return the field containing a value, if it is valid.:Return an initializer for a maybe type with a valid value.5Return an initializer for a maybe type with no value.:Retrieve a maybe's value given a default if it is nothing.PSet a maybe's value to a default if it is nothing, returning the current value.8Set a maybe's value to a default value if it is nothing.;Modify a maybe value by an expression if it is not nothing.7Modify a maybe value by an action if it is not nothing.Flipped version of .7Call an action with a maybe value if it is not nothing.Flipped version of .#Set a maybe value to a valid value.&Set a maybe value to an invalid value. None( Variant of B that constrains the length of the array to match a given type-level natural. This reduces the need for the ScopedTypeVariables extension in Ivory code. Variant of C that constrains the length of the array to match a given type-level natural. This reduces the need for the ScopedTypeVariables extension in Ivory code.None(4>KL$nA multi-way if. This is useful for avoiding an explosion of nesting and parentheses in complex conditionals.(Instead of writing nested chains of ifs: ifte_ (x >? 100) (store result 10) (ifte_ (x >? 50) (store result 5) (ifte_ (x >? 0) (store result 1) (store result 0)))You can write: cond_ [ x >? 100 ==> store result 10 , x >? 50 ==> store result 5 , x >? 0 ==> store result 1 , true ==> store result 0 ]Note that "==>" is non-associative and has precedence 0, so you will need parentheses to call functions with "$" on the left-hand side: cond_ [ (f $ g x) ==> y ] rather than: cond_ [ f $ g x ==> y ]D !"#$% !"#$% !"$%#D !"#$%#None(4>KL&'handy shorthand for transfering members(XCopies a prefix of an array into a postfix of another array. That is, copy from array from (either a E or a F ) into array to starting at index toOffset in toG. Copying continues until either the from array is fully copied, the to array is full, or index end in the from array is reached (index end# is not copied). to copy the full from array, let end equal 'arrayLen from'.&'(&'(&'(&'(None)*  !"#$%&'()))G      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNCOPCOQ(CRSCRTUivory_C0uZ6sRnzvZKkY1w3ndQ4iIvory.Stdlib.StringIvory.Stdlib.OperatorsIvory.Stdlib.MaybeIvory.Stdlib.InitIvory.Stdlib.ControlIvory.Stdlib.Memory Ivory.StdlibPaths_ivory_stdlib stringInitstring_lit_storestring_lit_arrayistr_len istr_copyistr_eq istr_from_sz sz_from_istrstdlibStringModulestdlibStringArtifacts~>*%=%=!+= MaybeTypemaybeValidLabelmaybeValueLabelinitJust initNothinggetMaybe setDefault setDefault_mapMaybe mapMaybeM forMaybeM mapMaybeM_ forMaybeM_setJust setNothingizerolen iarraylenCondiftewhenunless==>cond_cond resultIntointo arrayCopy stdlibModulescatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebaseGHC.BaseStringivory_0JYPp2qeFYo9PDXupsKC4cIvory.Language.String IvoryStringmemcmpmemcpy do_istr_eq string_copy_zLen undefinedRef stringArraystringCapacity stringDataIvory.Language.InitizeroiarrayIvory.Language.RefRefConstRef