!9B:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                  !"#$%&'()*+,-./0123456789Safem@:;<=>?@ANone,EXmBronInstancelCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~B0None_m%ronData block descriptorron"Does the descriptor refer to an op  Nonem(9ron adapter to ron Variant of  with a more debuggable message.ronFApply parser and check it is applied successfully. Kinda opposite to G.>3None$Mm)9 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS9./%&'*+,-() !"#@ABCD$012345678EFG>?9:;<=POSIHLKMQJNRNone$_m+None@AMagkm2 tronj& smart constructor dropping upper bitsroni& smart constructor dropping upper bitsrong& smart constructor dropping upper bitsron specialized for ronf& smart constructor dropping upper bitsron specialized for rone& smart constructor dropping upper bitsron specialized for rond& smart constructor dropping upper bitsron specialized for rond" smart constructor checking domain2bcdefghijklmnopqrstuvwxyz{|}~2jpqrsonmltiuvwxyz{|}~kghfedbcNone_amA ronBase64 alphabetron/Check if a character is in the Base64 alphabet.ron*Convert a Base64 letter to a number [0-63]ron;Convert a subset [0-F] of Base64 letters to a number [0-15]ron"Decode a blob from a Base64 stringron+Decode a 60-bit number from a Base64 stringron+Decode a 60-bit number from a Base32 stringron+Decode a 64-bit number from a Base64 stringron+Decode a 64-bit number from a Base32 stringron Encode a blob to a Base64 stringron0Convert a number from [0..63] to a single letterron0Convert a number from [0..15] to a single letterron)Encode a 60-bit number to a Base64 stringronCEncode a 60-bit number to a Base64 string, dropping trailing zeroesronCEncode a 64-bit number to a Base32 string, dropping trailing zeroesron)Encode a 64-bit number to a Base64 stringNone "#$%279XgmLronUUID split in partsron)Universally unique identifier of anythingronUUID with all zero fieldsronSplit UUID into partsronBuild UUID from partsron'Build former 64 bits of UUID from partsron'Build latter 64 bits of UUID from partsron#Make an unscoped (unqualified) nameronMake a scoped (qualified) nameronConvert UUID to a nameronUUID with all zero fieldsronIncrement field  of a UUIDron Encode a UUID to a Base32 stringron"Decode a UUID from a Base32 stringronRON-Text-encodingronname, max 10 Base64 lettersronscope, max 10 Base64 lettersron!local name, max 10 Base64 lettersron (scope, name) for a scoped name;  (name, "") for a global nameNone$279_mWkron8Specific field or item in an object, identified by UUID.ron&Reference to an object inside a frame.ron"Frame containing only state chunksronCReduced chunk representing an object state (i. e. high-level value)ronA pair of (type, object)ron Op terminatorron Common frameron Common chunkronCommon reduced chunkron$ Reduced  op (op from reduced chunk)ronevent id (usually timestamp)ron;reference to other op; actual semantics depends on the typeronpayloadronRaw op rontype ron object id ron7other keys and payload, that are common with reduced op ronAtom  a payload element.     .     None"#$_`m] -ronSerialize a frameronSerialize a chunkronSerialize a raw opronSerialize a reduced opron Serialize a ronEncode descriptorron(Prepend serialized bytes with descriptor.ron Serialize an  ronSerialize a float atomronSerialize a reduced chunk/ronSerialize a string atomronbody-./-./ None "#PX_`amkron for descriptorron for extended length field0ron Parse frameron for frameron for chunk sequenceronClear upper bit of ron for a chunkronAssert that is such as expectedron for a sequence of reduced opsron< for raw op, returning the op's terminator along with the opron@ for reduced op, returning the op's terminator along with the opron for raw op without terminatorron" for reduced op without terminatorron2 for an op key (type, object, event, or reference)ron for UUIDron" for a payload (sequence of atoms)ron for an atom1ron Parse an  ron for a float atomron for an integer atomron for an string2ronParse a string atomronexpected input lengthronexpected input lengthronexpected input lengthronexpected input lengthronexpected input length012012Noneml -00- None"#$_agm,4ronGet current replica id5ronGet sequential timestamps.Laws:  ) t <- getEvents n (t !! i) == head t + i  t1 <- V t2 <- V t2 >= t1 + 1 getEvents 0 == getEvents 16ron"Make local time not less than this7ron1Epoch-based Lamport time event, specific case of ;.9ron4Calendar-based Lamport time event, specific case of ;.;ron'Generic Lamport time event. Cannot be b because we can't compare different types of clocks. If you want comparable events, use specific 7.=ronReplica identifier?ronReplica id assignment styleDronEClock type is encoded in 2 higher bits of variety, value in uuidValueFron +https://en.wikipedia.org/wiki/Logical_clockIronMRFC 4122 epoch, hundreds of nanoseconds since 1582. Year range is 1582 5235.JronCalendar format. See  (https://github.com/gritzko/ron/issues/191. Year range is 2010 2350. Precision is 100 ns.Uron6 variant for any UUIDVronGet a single eventWronGet a single event as UUIDXronGet event sequence as UUIDs[ron%Make a calendar timestamp from a date\ron4Make a calendar timestamp from a date and a day time]ronHMake a calendar timestamp from a date, a day time, and a second fraction^ronMake an C! replica id from arbitrary number5ronnumber of needed timestamps[ron(date as (year, month [1..12], day [1..])\ron(date as (year, month [1..12], day [1..])ron%day time as (hours, minutes, seconds)]ron(date as (year, month [1..12], day [1..])ron%day time as (hours, minutes, seconds)ron/fraction of a second in hundreds of nanosecond,3465789:;<=>?@ABCDGEFHIJKPLMNOQRSTUVWXYZ[\]^,JKPLMNOQ9:78I;<DGEFH?@ABC3465=>U^ZYRSVWX[\]T NoneM_mwron+ReplicaSim inside Lamport clock simulation.yron!Lamport clock simulation. Key is =3. Non-present value is equivalent to (0, initial).zronExecute network simulationUsage: runNetworkSim $ do | r1 $ do actions... | r2 $ do actions... | r1 $ ... Each zX starts its own networks. One shouldn't use in one network events generated in another.vwxyz{|}xyvwz{|} NoneMmronNReal epoch clock. Uses kind of global variable to ensure strict monotonicity.ronRun $ action with explicit time variable.ronLike 6, but initialize time variable with current wall time.ronGet current time in IB format (with 100 ns resolution). Monotonicity is not guaranteed.ron?Convert unix time in hundreds of milliseconds to RFC 4122 time.ron?Convert unix time in hundreds of milliseconds to RFC 4122 time.ron.Decode date and time from UUID epoch timestampNone "#SX_gkmrontInstances of this class are encoded as objects. An enclosing object's payload will be filled with this object's id.ronUUID of the typeron Encode dataron Decode dataron4Instances of this class are encoded as payload only.ron Encode dataron Decode dataronBase class for typed encodingronInstances SHOULD implement  either as  or as ron~Untyped-reducible types. Untyped means if this type is a container then the types of data contained in it is not considered.ronUUID of the typeronLoad a state from a state chunkronStore a state to a state chunkron&Merge a state with patches and raw opsronCMerge patches and raw ops into bigger patches or throw obsolete opsronUnapplied patches and raw opsron:Reduce all chunks of specific type and object in the frameron=Encode typed data to a payload with possible addition objectsronoDecode typed data from a payload. The implementation may use other objects in the frame to resolve references.ronStandard implementation of  for  types.ronStandard implementation of  for  types.ronEHelper to build an object frame using arbitrarily nested serializers.5      !"#$%&None"#mronDVersion Vector type. May be used both in typed and untyped contexts.'ron/Name-UUID to use as Version Vector type marker.None "#$>M_gmb ronSpeciaization of  to (1. This is the recommended way to store a string.ron Typed RGA)ron@the key is the parent event, the value is a non-empty VertexList*ron=the key is the target event, the value is the tombstone eventron Untyped RGA+ronopEvent = vertex id opRef: 0 = value is alive, _ = tombstone event, value is backup for undo opPayload: the valueron$Name-UUID to use as RGA type marker.ronCReplace content of the RGA throug introducing changes detected by ,.ronSpeciaization of  for >ronCreate an RGA from a listron Create an  from a textronRead elements from RGAronRead characters from   None"#>Xgm ron2Type-directing wrapper for typed OR-Set of objectsron8Type-directing wrapper for typed OR-Set of atomic valuesrongUntyped OR-Set. Implementation: a map from the last change (creation or deletion) to the original op.-ron'Name-UUID to use as OR-Set type marker..ron'XXX Internal. Common implementation of  and .ronAdd atomic value to the OR-Setron+Add a reference to the object to the OR-Setron8Encode an object and add a reference to it to the OR-Setron&Remove an atomic value from the OR-Setron*Remove an object reference from the OR-Set  None "#>MXkmƋron(Untyped LWW. Implementation: a map from  to the original op./ron/Last-Write-Wins: select an op with latter eventron$Name-UUID to use as LWW type marker.ron.Create LWW object from a list of named fields.ronDecode field valueronDecode field valueronAssign a value to a fieldron/Anti-lens to an object inside a specified fieldron Field nameronLWW object chunkron Field nameron Field nameronValue (from untyped world)ron Field nameronNested object modifier None "#$X_`gkmsronAReduce object with frame from another version of the same object.None"#$_mʽron&Generate Haskell types from RON-Schema0ronType-directing newtype; !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSNone_mkronRON-Schema type for None "#%X_gm=ron.Serialize UUID without context (used for test)ron Serialize UUID in op key contextron)Serialize UUID in op value (atom) contextron(same key in the previous op (default is )ron(previous key of the same op (default is )ronthisronpreviousronthisNone"#$_agmې ronSerialize a common frameron%Serialize a sequence of common frames1ronSerialize a common chunk2ronSerialize a reduced chunkronSerialize a context-free raw op3ron5Serialize a raw op with compression in stream context4ron9Serialize a reduced op with compression in stream contextronSerialize a context-free atom5ron=Serialize an atom with compression for UUID in stream contextronSerialize a string atom6ron%Serialize a payload in stream contextronSerialize a state frameronESerialize an object. Return object id that must be stored separately.4ronenclosing object6ronprevious UUID (default is )None"#$_`amronParse a common frame7ron%Returns a chunk and the last op in it8ron8Returns a chunk and the last op (converted to raw) in itron!Parse a sequence of common framesronParse a single context-free opron Parse a single context-free UUIDronParse a UUID in key positionron%Parse a UUID in value (atom) positionron Parse an atomronParse a string atom9ronReturn  and  chunkIsQuery ronParse a state frame ron Parse a state frame as an object:ron)Extract object states from a common frameron(same key in the previous op (default is )ron(previous key of the same op (default is )ronprevious     Nonem{    None $>PX_kme ronIResult of DB reading, loaded document with information about its versions ron Merged value.;ronrA thing (e.g. document) was fixed during loading. It it was fixed during loading it must be saved to the storage.ronStorage backend interfaceron Must return [] for non-existent collectionron Must return [] for non-existent documentron0Must create collection and document if not existron[A type that intended to be put in a separate collection must define a Collection instance.ronCalled when RON parser fails.ronCollection (directory name)ronODocument identifier (directory name), should be a RON-Base32-encoded RON-UUID.ron'Document version identifier (file name)ron Try decode UUID from a file name ron"Load document version as an object!ronLoad all versions of a document<ronValidation-like version of sconcat."ron7Load document, apply changes and put it back to storage=ronaCreate new version of an object/document. If the document doesn't exist yet, it will be created.#ron.Create document assuming it doesn't exist yet.ron+Bool = is document id a valid UUID encoding=ron, if document exists already;  otherwise.    !"#   #!" None$/MX_km'('(None $/=?@AMXkmN/ron+Storage handle (uses the Handle pattern ).0ronEnvironment is the dataDir1ronRun a 0 action2ronCreate new storage handle    !"#/012/021> !" !# !$ !%&'()*+,-./0123456789:;<=>?@ABBCDEFFGHIJKLLMMNOPQRRSTUUVWXYZ[\]^_`a^Ybacdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCD E F G H I J K L L M M N N O O P Q R S T U V W X Y Z [ [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                     CD     FG  !"#$%&'()*+,-./0123456789:;<=>?@ABCDE FG FH IJKLM NO IP IQ IR IS IT IU IV IW IX IY IZ I[ I\ I] I^ _` _a _b _c _d _e _f _g _h _i _j _k _l _m _n _o _p qr qs qt qu qv wx wy wz w{ w| w} w~ w w w w w w w w w w w w w w w   I I           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 wKK           K   I I I I I I I I  N N N N N N N N N N N N N N q q q q q q                 _ _ _ _ _ _ _ _ _ _ _! _" _# _$ _% _& _' _( _) _* w+ w, w- w. w/ w0 w1 w2 w3 w4 w5 w6 w7 w8 w9 w: w; w< w= w> w? w@ wA wB wC wD wE F G H I J K L M M N  O P Q R S S T UV UW UX UY Z [ \ ] ^ _ ` a bc bd bd be be fg fh fi j k l mn mo mp mq mr ms mt mu mv Fw Fx Fy Iz I{ I| I} I~ I I I I I I I I I I I IEEjf                   K  !!"#$$%&''()*++,-./0123456789:;K<=>?@ABCDEFGHIJKLMNOPQRron-0.3-8FjHkQEoKcQLIx1bbv4A7v RON.Util.Word RON.Schema RON.Data.TimeRON.Binary.Types RON.Base64RON.UUID RON.TypesRON.Binary.SerializeRON.Binary.Parse RON.EventRON.Event.Simulation RON.EpochRON.DataRON.Data.VersionVector RON.Data.RGARON.Data.ORSet RON.Data.LWW RON.Schema.THRON.Text.Serialize.UUIDRON.Text.SerializeRON.Text.Parse RON.StorageRON.Storage.TestRON.Storage.IO Data.ZigZagRON.Internal.PreludeAttoparsec.ExtraRON.Schema.EDN RON.BinaryRON.Data.InternalRON.TextbaseGHC.WordWord8Word16Word32Word641data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.Classdef time-1.8.0.2Data.Time.Calendar.DaysDayDescDOpRaw DOpReduced DOpHeaderDOpQueryHeader DUuidType DUuidObject DUuidEventDUuidRef DAtomUuidZipDUuidZipObject DUuidZipEvent DUuidZipRef DAtomUuid DAtomInteger DAtomString DAtomFloatSizedescIsOp $fEnumDesc$fEqDesc $fShowDescOpaqueopaqueIsObject opaqueNameopaqueAnnotationsOpaqueAnnotations oaHaskellTypeSchema DeclarationDOpaque DStructLwwFieldAnnotationsField fieldTypefieldAnnotations CaseTransform TitleCaseStructAnnotationssaHaskellFieldPrefixsaHaskellFieldCaseTransform StructLww structName structFieldsstructAnnotationsTObjectTORSetTRga TStructLwwTVersionVector TCompositeTOptionRonTypeTAtomTOpaque TAIntegerTAStringfieldchar rgaString opaqueObject opaqueAtomsoption structLww atomString atomIntegerorSet versionVectorboole$fDefaultStructAnnotations$fDefaultFieldAnnotations $fShowTAtom$fShowCaseTransform$fShowStructAnnotations$fShowFieldAnnotations$fDefaultOpaqueAnnotations$fShowOpaqueAnnotations $fShowOpaque $fShowRonType $fShowTObject$fShowStructLww $fShowField$fShowTCompositeSafeCastsafeCastWord60Word24Word12Word6W6Word4Word2B0000B11B10B01B00b00b01b10b11leastSignificant2b0000b0001b0010b0011b0100b0101b0110b0111b1000b1001b1010b1011b1100b1101b1110b1111leastSignificant4leastSignificant6ls6leastSignificant12ls12leastSignificant24ls24leastSignificant60ls60toWord60 word60add$fHashableWord60$fBoundedWord60$fSafeCastWord64Fixed$fSafeCastWord64Integer$fSafeCastWord60Word64$fSafeCastWord24Word32$fSafeCastWord24Word64$fSafeCastWord12Word64$fSafeCastWord8Word64$fSafeCastWord8Word32$fSafeCastWord6Word64$fSafeCastWord6Word60$fSafeCastWord6Word8$fSafeCastWord6Int$fSafeCastWord4Word8$fSafeCastWord4Word64$fSafeCastWord4Int$fSafeCastWord2Word64$fSafeCastWord2Word8$fSafeCastWord2Word4$fSafeCastWord2Int $fEqWord2 $fOrdWord2 $fShowWord2 $fEqWord4 $fOrdWord4 $fShowWord4 $fEqWord6 $fOrdWord6 $fShowWord6 $fEqWord12 $fOrdWord12 $fShowWord12 $fEqWord24 $fOrdWord24 $fShowWord24 $fEnumWord60 $fEqWord60 $fOrdWord60 $fShowWord60alphabetisLetter decodeLetter decodeLetter4decodedecode60decode60base32decode64decode64base32encode encodeLetter encodeLetter4encode60 encode60shortencode64base32shortencode64 UuidFields uuidVariety uuidValue uuidVariant uuidVersion uuidOriginUUIDZerosplitbuildbuildXbuildYmkName mkScopedNamegetNamezero succValue encodeBase32 decodeBase32 $fShowUUID $fDataUUID$fEqUUID $fGenericUUID$fHashableUUID $fOrdUUID$fEqUuidFields$fShowUuidFields ObjectPart partObject partLocation partFrameObjectobjectId objectFrame StateFrame StateChunk stateVersion stateBodyObjectIdOpTermTRawTReducedTHeaderTQuery WireFrame WireChunkRawValueQueryWireReducedChunk wrcHeaderwrcBodyOpopEventopRef opPayloadRawOpopTypeopObjectopAtomAFloatAIntegerAStringAUuid $fShowRawOp $fDataAtom$fEqAtom $fGenericAtom$fHashableAtom $fShowAtom$fDataOp$fEqOp $fGenericOp $fHashableOp$fShowOp $fDataRawOp $fEqRawOp$fGenericRawOp$fDataWireReducedChunk$fEqWireReducedChunk$fGenericWireReducedChunk$fShowWireReducedChunk$fDataWireChunk $fEqWireChunk$fGenericWireChunk$fShowWireChunk $fEqOpTerm $fShowOpTerm$fEqStateChunk$fShowStateChunk $fEqObject $fShowObject serialize serializeAtomserializeStringparse parseAtom parseString ReplicaClockgetPid getEventsadvance EpochEvent CalendarEventEvent ReplicaIdNaming TrieForked CryptoForked RecordForkedApplicationSpecific LocalTime TCalendarTLogicalTEpochTUnknown EpochTime CalendarTimemonthsdayshoursminutessecondsnanosecHundredsfromCalendarEventfromEpochEvent toEpochEvent advanceToUuidgetEvent getEventUuid getEventUuids encodeEvent decodeEventmkCalendarDatemkCalendarDateTimemkCalendarDateTimeNanoapplicationSpecific$fHashableNaming$fHashableReplicaId$fOrdCalendarEvent$fOrdEpochEvent$fReplicaClockStateT$fReplicaClockExceptT$fEqCalendarTime$fOrdCalendarTime$fShowCalendarTime $fEqLocalTime$fShowLocalTime$fBoundedNaming $fEnumNaming $fEqNaming $fShowNaming $fEqReplicaId$fShowReplicaId $fEqEvent $fShowEvent$fEqCalendarEvent$fShowCalendarEvent$fEqEpochEvent$fShowEpochEvent ReplicaSim ReplicaSimT NetworkSim NetworkSimT runNetworkSimrunNetworkSimT runReplicaSimrunReplicaSimT$fMonadTransNetworkSimT$fReplicaClockReplicaSimT$fMonadTransReplicaSimT$fApplicativeNetworkSimT$fFunctorNetworkSimT$fMonadNetworkSimT$fApplicativeReplicaSimT$fFunctorReplicaSimT$fMonadReplicaSimT EpochClock runEpochClockrunEpochClockFromCurrentTimegetCurrentEpochTimelocalEpochTimeFromUnix$fReplicaClockEpochClock$fApplicativeEpochClock$fFunctorEpochClock$fMonadEpochClock$fMonadIOEpochClockReplicatedAsObject objectOpType newObject getObjectReplicatedAsPayload toPayload fromPayload Replicatedencoding ReduciblereducibleOpTypestateFromChunk stateToChunk applyPatchesreduceUnappliedPatches mkStateChunknewRonfromRonobjectEncodingpayloadEncoding VersionVector!$fReplicatedAsObjectVersionVector$fReplicatedVersionVector$fReducibleVersionVector$fMonoidVersionVector$fSemigroupVersionVector$fHashableVersionVector$fEqVersionVector$fShowVersionVector RgaStringRGARgaRawrgaTypeediteditText newFromList newFromTextgetListgetText$fSemigroupVertexList$fReducibleRgaRaw$fMonoidPatchSet$fSemigroupPatchSet$fReplicatedAsObjectRGA$fReplicatedRGA$fEqVertexListItem$fShowVertexListItem$fEqVertexList$fShowVertexList $fEqRgaRaw$fMonoidRgaRaw$fSemigroupRgaRaw $fShowRgaRaw $fEqPatchSet$fShowPatchSet$fEqRGA ObjectORSetORSetORSetRawaddValueaddRef addNewRef removeValue removeRef$fSemigroupSetItem$fReducibleORSetRaw$fMonoidORSetRaw$fSemigroupORSetRaw$fReplicatedAsObjectORSet$fReplicatedORSet$fReplicatedAsObjectObjectORSet$fReplicatedObjectORSet $fEqSetItem $fShowSetItem $fEqORSetRaw$fShowORSetRaw LwwPerFieldlwwType viewField readField assignField zoomField$fReducibleLwwPerField$fSemigroupLwwPerField$fEqLwwPerField$fMonoidLwwPerField$fShowLwwPerFieldreduceWireFramereduceStateFrame reduceObject mkReplicated mkReplicated'day$fReplicatedAsPayloadDay$fReplicatedDay serializeUuidserializeUuidKeyserializeUuidAtomserializeWireFrameserializeWireFramesserializeRawOpserializeStateFrameserializeObjectparseWireFrameparseWireFramesparseOp parseUuid parseUuidKey parseUuidAtomparseStateFrame parseObjectDocumentvalueversions isTouched MonadStoragegetCollections getDocumentsgetDocumentVersionssaveVersionContentloadVersionContent deleteVersion changeDocId CollectioncollectionName fallbackParseCollectionNameDocId DocVersion decodeDocId readVersion loadDocumentmodifycreateDocument $fShowDocId$fShowIsTouched$fShowDocumentTestDB runStorageSim$fMonadStorageStorageSim$fApplicativeStorageSim$fFunctorStorageSim$fMonadStorageSim$fMonadErrorStorageSim$fReplicaClockStorageSimHandleStorage runStorage newHandle$fMonadStorageStorage$fReplicaClockStorage$fApplicativeStorage$fFunctorStorage$fMonadStorage$fMonadErrorStorage$fMonadIOStoragezzEncodezzEncodeIntegerzzDecode zzDecode8 zzDecode16 zzDecode32 zzDecode64zzDecodeIntegerI Data.TuplefstsndGHC.Base$ghc-primGHC.Primcoerce Control.MonadguardjoinMonad>>=>>returnfailFunctorfmap<$ Applicativepure<*>*><*liftA2 Data.FoldableFoldabletoListfoldrlengthfoldMapnullfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericRepfromtoGeneric1Rep1from1to1Datatype datatypeName moduleName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictness GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbol<>sconcatGHC.IntInt8Int16Int32Int64 GHC.MaybeMaybeNothingJust Data.EitherEitherLeftRightV1U1Par1unPar1Rec1unRec1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1RDCSRec0D1C1S1URecUAddrUCharUDoubleUFloatUIntUWorduWord#uInt#uFloat#uDouble#uChar#uAddr# GHC.TypesNatSymbol+*^<=?- CmpSymbolCmpNatDivModLog2 TypeError Coercible AppendSymbolbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$>'hashable-1.2.7.0-2SI038axTEd7AEZJ275kpiData.Hashable.ClassHashable hashWithSalt text-1.2.3.1Data.Text.InternalText2unordered-containers-0.2.9.0-I6OVG4HR3i6hFXdo933HbData.HashMap.BaseHashMapcontainers-0.6.0.1Data.Map.InternalMap Alternativeemptymany<|>some MonadPlusmzeromplusData.List.NonEmptynonEmptymfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.IdentityIdentity runIdentityData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMprecFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackMetaMetaDataMetaConsMetaSel sameSymbol someSymbolVal someNatVal symbolVal'natVal' symbolValnatVal SomeSymbol ErrorMessage:<>::$$:ShowTypesameNatSomeNat<= Data.OldListsortOnsortBysort partition fromRightfromLeftisRightisLeftpartitionEithersrightsleftseither Data.Proxy asProxyTypeOfProxyKProxy Data.Function&onfixvoid$><&> Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurryflip.constidapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**>NonEmpty:|Data.Set.InternalSet#extra-1.6.13-Fm1NztujpwgLxaJInpJGfjData.Tuple.Extrauncurry3curry3thd3snd3fst3bothdupe&&&***secondfirst mtl-2.2.2Control.Monad.Error.Class throwError"safe-0.3.17-43oyx4B630gDZMbTh3Ttji Safe.Foldable findJustSafe foldr1Safe foldl1Safe findJustNote findJustDeffindJust maximumByNote minimumByNote maximumByDef minimumByDef maximumByMay minimumByMay maximumNote minimumNote maximumDef minimumDef maximumMay minimumMay foldr1Def foldl1Def foldr1Note foldl1Note foldr1May foldl1May Data.HashSetHashSet&vector-0.12.0.1-KAZQ3Nmj85LLvErDPMKv7R Data.VectorVectorMaxOnFst ByteStringLmaxOnminOn listSingleton-:takeL*attoparsec-0.13.2.2-6OoSLtLgOo41amaT3bsAtl#Data.Attoparsec.ByteString.Internaltake endOfInputExData.Attoparsec.Internal endOfInput isSuccessfulData.Attoparsec.ByteString.Lazy eitherResult maybeResult parseTestResultFailDonematch parseOnly peekWord8' peekWord8notWord8word8anyWord8 notInClassinClass takeWhile1 runScannerscantakeLazyByteStringtakeByteString takeWhiletakeTill skipWhilestring satisfyWithskipsatisfyParserData.Attoparsec.CombinatorfeedeitherPcount skipMany1skipMany manyTill'manyTillsepBy1'sepBy1sepBy'sepBymany1'many1many'choicetryatEndcompareResults parseOnlyLgetPos withInputSizelabellabel'??<+> parseSchemaserializeChunkserializeReducedOp encodeDescserializeWithDescserializeFloatserializeReducedChunk parseDescextendedLength parseFrame parseChunksleastSignificant31 parseChunk assertSizeparseReducedOpsparseDescAndRawOpparseDescAndReducedOp parseRawOpparseReducedOp parseOpKeyuuid parsePayloadatomfloatinteger GHC.ClassesOrdepochTimeFromUnix Unapplied WireReducer collectFrameEncodingencodingFromRonencodingNewRonPatchpatchRef patchValue ReducedChunkrcBodyrcRef rcVersionReducer stateReducer wireReducerAFalseATrueSomeNonemkChunkVersionmkRCpatchFromRawOppatchFromChunk patchToChunk objectFromRongetObjectStateChunkeqRef eqPayloadvvTypeChar psPatches psRemovalsVertex!Diff-0.3.4-Isdcu3XDRoL1Fkaeabn3wSData.Algorithm.DiffgetGroupedDiffBysetTypeaddlww fieldWrapperCserializeRawOpZipserializeReducedOpZipserializeAtomZipserializePayloadpChunkwireStateChunkheader findObjects IsTouchedvsconcat createVersion