-- Model.model, 18-Feb-83 12:47:09 PST
OPEN @BasicPilot.model!2579461154;
OPEN @BasicCedar.model!2591112381;
OPEN @Viewers.model!2587919365;
TTYIO: TYPE~@TTYIO.bcd;
MessageWindow: TYPE~@MessageWindow.bcd;
ViewerIO: TYPE~@ViewerIO.bcd;
UnsafeStorage: TYPE~@UnsafeStorage.bcd;
UserCredentialsUnsafe: TYPE~@UserCredentialsUnsafe.bcd;
UserProfile: TYPE~@UserProfile.bcd;
ProcessOperations: TYPE~@ProcessOperations.bcd;
Table: TYPE~@Table.bcd;
BcdDefs: TYPE~@BcdDefs.bcd;
BcdOps: TYPE~@BcdOps.bcd;
RTBcd: TYPE~@RTBcd.bcd;
CompilerOps: TYPE~@CompilerOps.bcd;
FileSegment: TYPE~@FileSegment.bcd;
FileParms: TYPE~@FileParms.bcd;
Feedback: TYPE~@Feedback.bcd;
TemporarySpecialExecOps: TYPE~@TemporarySpecialExecOps.bcd;
CIFS: TYPE~@CIFS.bcd;
FileLookup: TYPE~@FileLookup.bcd;
IFSFile: TYPE~@IFSFile.bcd;
LeafSubr: TYPE~@LeafSubr.bcd;
FileParms: TYPE~@FileParms.bcd;
PilotLoadStateFormat: TYPE~@PilotLoadStateFormat.bcd;
PilotLoadStateOps: TYPE~@PilotLoadStateOps.bcd;
LowLoader: TYPE~@LowLoader.bcd;
RTLoader: TYPE~@RTLoader.bcd;
RTOS: TYPE~@RTOS.bcd;
RuntimeInternal: TYPE~@RuntimeInternal.bcd;
DateAndTimeUnsafe: TYPE~@DateAndTimeUnsafe.bcd;
Format: TYPE~@Format.bcd;
Segments: TYPE~@Segments.bcd;
Storage: TYPE~@Storage.bcd;
UnsafeSTP: TYPE~@UnsafeSTP.bcd;
UnsafeSTPOps: TYPE~@UnsafeSTPOps.bcd;
Strings: TYPE~@Strings.bcd;
Dir: TYPE~@Dir.mesa!2571932252[CompilerOps, File, FileParms, 
      LowLoader, TimeStamp];
DBStash: TYPE~@DBStash.mesa!2565629596[Dir, TimeStamp, UserExec];
Model: PROC [BcdOpsImpl: BcdOps,
	ButtonsImpl: Buttons,
	CIFSImpl: CIFS,
	CompilerOpsImpl: CompilerOps,
	ContainersImpl: Containers,
	ConvertUnsafeImpl: ConvertUnsafe,
	DateAndTimeUnsafeImpl: DateAndTimeUnsafe,
	DBStashImpl: DBStash,
	DirectoryImpl: Directory,
	ExecImpl: Exec,
	ExecOpsImpl: ExecOps,
	FileImpl: File,
	FileIOImpl: FileIO,
	FileLookupImpl: FileLookup,
	FileStreamImpl: FileStream,
	HeapImpl: Heap,
	IOImpl: IO,
	InlineImpl: Inline,
	LabelsImpl: Labels,
	LeafSubrImpl: LeafSubr,
	LowLoaderImpl: LowLoader,
	LongStringImpl: LongString,
	MenusImpl: Menus,
	MessageWindowImpl: MessageWindow,
	PilotLoadStateOpsImpl: PilotLoadStateOps,
	ProcessImpl: Process,
	RopeImpl: Rope,
	RopeInlineImpl: RopeInline,
	RTLoaderImpl: RTLoader,
	RTOSImpl: RTOS,
	RulesImpl: Rules,
	RuntimeImpl: Runtime,
	RuntimeInternalImpl: RuntimeInternal,
	SegmentsImpl: Segments,
	SpaceImpl: Space,
	StorageImpl: Storage,
	UnsafeSTPImpl: UnsafeSTP,
	UnsafeSTPOpsImpl: UnsafeSTPOps,
	StreamImpl: Stream,
	StringImpl: String,
	StringsImpl: Strings,
	SystemImpl: System,
	TemporarySpecialExecOpsImpl: TemporarySpecialExecOps,
	TimeImpl: Time,
	TransactionImpl: Transaction,
	TTYImpl: TTY,
	TTYIOImpl: TTYIO,
	TypeScriptImpl: TypeScript,
	UnsafeStorageImpl: UnsafeStorage,
	UserCredentialsUnsafeImpl: UserCredentialsUnsafe,
	UserExecImpl: UserExec,
	UserProfileImpl: UserProfile,
	UserTerminalImpl: UserTerminal,
	VFontsImpl: VFonts,
	ViewerEventsImpl: ViewerEvents,
	ViewerOpsImpl: ViewerOps,
	ViewerIOImpl: ViewerIO,
	ViewerToolsImpl: ViewerTools,
	WindowManagerImpl: WindowManager]
RETURNS [] [
CharIO: TYPE~@CharIO.bcd;
CharIOImpl: CharIO~@CharIOImpl.bcd[StringsImpl, StreamImpl, 
            LongStringImpl];
CWF: TYPE~@CWF.bcd;
CWFImpl: CWF~@CWFImpl.bcd[HeapImpl, InlineImpl, LongStringImpl, 
            TimeImpl];
FQ: TYPE~@FQ.bcd;
FQImpl: FQ~@FQImpl.bcd[ConvertUnsafeImpl, CWFImpl, DateAndTimeUnsafeImpl, 
            FileLookupImpl, LongStringImpl, UnsafeSTPImpl, STPSubrImpl, 
            SubrImpl];
Subr: TYPE~@Subr.bcd;
SubrImpl: Subr~@SubrImpl.bcd[CWFImpl, DirectoryImpl, FileImpl, 
            FileStreamImpl, HeapImpl, InlineImpl, IOImpl, LongStringImpl, 
            RopeImpl, RopeInlineImpl, RuntimeImpl, SpaceImpl, 
            StreamImpl, UnsafeStorageImpl, UserCredentialsUnsafeImpl, 
            TransactionImpl];
STPSubr: TYPE~@STPSubr.bcd;
STPSubrImpl: STPSubr~@STPSubrImpl.bcd[CIFSImpl, ConvertUnsafeImpl, 
            CWFImpl, DirectoryImpl, FileImpl, FileStreamImpl, 
            FQImpl, HeapImpl, InlineImpl, IOImpl, LongStringImpl, 
            ProcessImpl, SpaceImpl, UnsafeSTPImpl, UnsafeSTPOpsImpl, 
            StreamImpl, StringImpl, SubrImpl, UserCredentialsUnsafeImpl, 
            UserTerminalImpl, TransactionImpl];
ProcBcds: TYPE~@ProcBcds.bcd;
ProcBcdsImpl: ProcBcds~@ProcBcdsImpl.bcd[CWFImpl, DirectoryImpl, 
            LeafSubrImpl, LongStringImpl, SpaceImpl, StringImpl, 
            SubrImpl, TimeImpl, TransactionImpl];
MDMain: TYPE~@MDMain.mesa!2590354704[IO, Rope, Subr, TypeScript];
MDModel: TYPE~@MDModel.mesa!2590362188[CompilerOps, Dir, File, 
      LowLoader, PilotLoadStateFormat, Space, Stream, Subr, 
      TimeStamp, TypeScript];
MDDB: TYPE~@MDDB.mesa!2588191953[Dir, MDModel, Subr, TypeScript];
MDUtil: TYPE~@MDUtil.mesa!2571858984[ExecOps, File, MDModel, 
      IO, Rope, Stream, TypeScript];
MDComp: TYPE~@MDComp.mesa!2588191974[IO, MDModel, Subr, TypeScript];
RComp: TYPE~@RComp.mesa!2571859031[IO, MDModel, TypeScript];
MoveFiles: TYPE~@MoveFiles.mesa!2588191355[IO, MDModel, Subr, 
      TypeScript];
Symbols: TYPE~@Symbols.bcd;
SymbolSegment: TYPE~@SymbolSegment.bcd;
MDLoad: TYPE~@MDLoad.mesa!2588191932[IO, MDModel, Subr];
MDLoadImplA: MDLoad~@MDLoadImpl.mesa!2591827396[BcdDefs, BcdOps, 
            CWF, Dir, Environment, File, Heap, IO, LowLoader, 
            LongString, MDComp, MDLoad, MDMain, MDModel, PilotLoadStateOps, 
            PrincOps, Process, RTOS, RTLoader, Runtime, RuntimeInternal, 
            Space, Subr, System, Time, TimeStamp, BcdOpsImpl, 
            CWFImpl, HeapImpl, LowLoaderImpl, LongStringImpl, 
            MDCompImpl, MDLoadImpl, MDMainImpl, MDModelImpl, 
            PilotLoadStateOpsImpl, ProcessImpl, RTLoaderImpl, 
            RTOSImpl, RuntimeImpl, RuntimeInternalImpl, SpaceImpl, 
            SubrImpl, SystemImpl, TimeImpl];
MDLoadImplB: MDLoad~@MDFakeBcdImpl.mesa!2590334635[BcdDefs, 
            BcdOps, CWF, Dir, Environment, File, Inline, LowLoader, 
            MDLoad, MDModel, PilotLoadStateOps, PrincOps, Space, 
            Subr, BcdOpsImpl, CWFImpl, InlineImpl, LowLoaderImpl, 
            MDModelImpl, PilotLoadStateOpsImpl, SpaceImpl, SubrImpl];
MDLoadImpl: MDLoad~(MDLoadImplA) PLUS (MDLoadImplB);
MDDBImpl: MDDB~@MDDBImpl.mesa!2590334687[CWF, DBStash, Dir, 
            Directory, File, FileStream, LongString, MDComp, 
            MDDB, MDMain, MDModel, MoveFiles, ProcBcds, Space, 
            Stream, Subr, Time, TimeStamp, TypeScript, CWFImpl, 
            DBStashImpl, DirImpl, DirectoryImpl, FileStreamImpl, 
            LongStringImpl, MDCompImpl, MDMainImpl, MDModelImpl, 
            MoveFilesImpl, ProcBcdsImpl, SpaceImpl, StreamImpl, 
            SubrImpl, TimeImpl, TypeScriptImpl];
MDUtilImpl: MDUtil~@MDUtilImpl.mesa!2590334976[Ascii, CWF, Dir, 
            Directory, ExecOps, Feedback, File, FileStream, 
            IO, LongString, MDModel, MDUtil, Rope, Runtime, 
            Stream, Subr, TemporarySpecialExecOps, TimeStamp, 
            TypeScript, CWFImpl, DirectoryImpl, ExecOpsImpl, 
            FileStreamImpl, IOImpl, LongStringImpl, MDModelImpl, 
            RopeImpl, RuntimeImpl, StreamImpl, SubrImpl, TemporarySpecialExecOpsImpl, 
            TypeScriptImpl];
MDMainImpl: MDMain~@MDMainImpl.mesa!2591124622[ConvertUnsafe, 
            CWF, DBStash, Dir, Directory, File, IO, LongString, 
            MDComp, MDDB, MDLoad, MDMain, MDModel, MDUtil, MoveFiles, 
            Process, Rope, RopeInline, STPSubr, Subr, Time, 
            TypeScript, UserExec, ViewerClasses, ViewerEvents, 
            ConvertUnsafeImpl, CWFImpl, DBStashImpl, DirImpl, 
            DirectoryImpl, IOImpl, LongStringImpl, MDCompImpl, 
            MDDBImpl, MDLoadImpl, MDModelImpl, MDUtilImpl, MoveFilesImpl, 
            ProcessImpl, RopeInlineImpl, STPSubrImpl, SubrImpl, 
            TimeImpl, TypeScriptImpl, UserExecImpl, ViewerEventsImpl];
ModelImpl: CONTROL~@ModelImpl.mesa!2593450600[Buttons, Containers, 
            CWF, DBStash, Directory, File, FileIO, FileStream, 
            IO, Labels, LowLoader, MDMain, MDUtil, Menus, Process, 
            Rope, RopeInline, Rules, Runtime, Subr, Time, TypeScript, 
            UserProfile, ViewerClasses, ViewerEvents, ViewerIO, 
            ViewerOps, ViewerTools, ButtonsImpl, ContainersImpl, 
            CWFImpl, DBStashImpl, DirectoryImpl, FileIOImpl, 
            FileStreamImpl, IOImpl, LabelsImpl, LowLoaderImpl, 
            MDMainImpl, MDUtilImpl, MenusImpl, ProcessImpl, 
            RopeImpl, RopeInlineImpl, RulesImpl, RuntimeImpl, 
            SubrImpl, TimeImpl, TypeScriptImpl, UserProfileImpl, 
            ViewerEventsImpl, ViewerOpsImpl, ViewerIOImpl, ViewerToolsImpl];
DirImpl: Dir~@DirImpl.mesa!2555557973[CWF, Dir, Directory, File, 
            MDModel, CWFImpl, DirectoryImpl, MDModelImpl];
MoveFilesImpl: MoveFiles~@MoveFilesImpl.mesa!2591116444[ConvertUnsafe, 
            CWF, DateAndTimeUnsafe, Dir, Directory, File, FileStream, 
            MDModel, MDUtil, MoveFiles, IO, STPSubr, Stream, 
            Subr, Time, TypeScript, UnsafeSTP, ViewerClasses, 
            ViewerOps, ConvertUnsafeImpl, CWFImpl, DateAndTimeUnsafeImpl, 
            DirectoryImpl, FileImpl, FileStreamImpl, MDModelImpl, 
            MDUtilImpl, UnsafeSTPImpl, STPSubrImpl, StreamImpl, 
            SubrImpl, TimeImpl, TypeScriptImpl, ViewerOpsImpl];
MDModelImpl1: MDModel~@MDSupportImpl.mesa!2590336592[CompilerOps, 
            CWF, Dir, Directory, Environment, File, Inline, 
            LongString, MDModel, PilotLoadStateOps, Runtime, 
            Space, String, Subr, TimeStamp, CWFImpl, DirectoryImpl, 
            InlineImpl, LongStringImpl, MDModelImpl, RuntimeImpl, 
            SpaceImpl, StringImpl, SubrImpl];
ModelParseTable: TYPE~@ModelParseTable.mesa!2590340905;
ModelP1: TYPE P1~@ModelParseDefs.mesa!2587936107[ModelParseTable, 
      Stream];
P1Impl1: ModelP1~@ModelScannerImpl.mesa!2590338811[Ascii, CharIO, 
            Environment, FileStream, LongString, ModelParseTable, 
            ModelP1, Stream, Subr, CharIOImpl, FileStreamImpl, 
            LongStringImpl, P1Impl, StreamImpl, SubrImpl];
P1Impl2: ModelP1~@ModelParserImpl.mesa!2588799606[CharIO, ModelParseTable, 
            ModelP1, Stream, Subr, CharIOImpl, P1Impl, SubrImpl];
LET [ModelParseData: TYPE, ModelParseDataImpl: ModelParseData] ~ @ModelParseData.bcd;
LET [P1Impl3: ModelP1, MDModelImpl2: MDModel] ~ @MDRulesImpl.mesa!2590340897[
      CWF, Dir, FileStream, LongString, MDModel, ModelParseTable, 
      MoveFiles, ModelP1, Stream, String, Subr, TypeScript, 
      CWFImpl, FileStreamImpl, LongStringImpl, MDModelImpl, 
      MoveFilesImpl, P1Impl, StringImpl, SubrImpl];
LET [MDModelImpl3: MDModel, P1Impl4: ModelP1] ~ @MDParseImpl.mesa!2591116652[
      CWF, Dir, FileStream, LongString, MDModel, ModelParseData, 
      ModelP1, Runtime, STPSubr, Stream, Subr, TypeScript, UnsafeSTP, 
      CWFImpl, DirImpl, FileStreamImpl, LongStringImpl, MDModelImpl, 
      ModelParseDataImpl, P1Impl, RuntimeImpl, UnsafeSTPImpl, 
      STPSubrImpl, StreamImpl, SubrImpl];
P1Impl: ModelP1~(P1Impl1) PLUS (P1Impl2) PLUS (P1Impl3) PLUS 
      (P1Impl4);
RCompImpl: RComp~@RCompImpl.mesa!2590337948[CompilerOps, CWF, 
            Dir, Directory, File, FileParms, FileStream, Heap, 
            Inline, IO, LongString, MDComp, MDDB, MDMain, MDModel, 
            MDUtil, RComp, Rope, Runtime, Stream, Subr, Time, 
            TimeStamp, TypeScript, ViewerClasses, ViewerOps, 
            WindowManager, CompilerOpsImpl, CWFImpl, DirectoryImpl, 
            FileStreamImpl, HeapImpl, InlineImpl, IOImpl, LongStringImpl, 
            MDCompImpl, MDDBImpl, MDMainImpl, MDModelImpl, MDUtilImpl, 
            RuntimeImpl, StreamImpl, SubrImpl, TimeImpl, TypeScriptImpl, 
            ViewerOpsImpl, WindowManagerImpl];
MDCompImpl: MDComp~@MDCompImpl.mesa!2590339968[CompilerOps, 
            CWF, Dir, Directory, ExecOps, File, IO, LowLoader, 
            LongString, MDComp, MDDB, MDMain, MDModel, MDUtil, 
            RComp, RTOS, Runtime, Stream, String, Subr, TimeStamp, 
            TypeScript, CWFImpl, DirImpl, DirectoryImpl, LongStringImpl, 
            MDDBImpl, MDMainImpl, MDModelImpl, MDUtilImpl, RCompImpl, 
            RTOSImpl, RuntimeImpl, StreamImpl, StringImpl, SubrImpl, 
            TypeScriptImpl];
MDModelImpl: MDModel~(MDModelImpl1) PLUS (MDModelImpl2) PLUS 
      (MDModelImpl3)
]