// Copyright (C) 2018 Intel Corporation. All rights reserved.
// This simulation model contains highly confidential and
// proprietary information of Intel and is being provided
// in accordance with and subject to the protections of the
// applicable Intel Program License Subscription Agreement
// which governs its use and disclosure. Your use of Intel
// Corporation's design tools, logic functions and other
// software and tools, and its AMPP partner logic functions,
// and any output files any of the foregoing (including device
// programming or simulation files), and any associated
// documentation or information are expressly subject to the
// terms and conditions of the Intel Program License Subscription
// Agreement, the Intel Quartus Prime License Agreement, the
// Intel FPGA IP License Agreement, or other applicable license
// agreement, including, without limitation, that your use is 
// for the sole purpose of simulating designs for use exclusively
// in logic devices manufactured by Intel and sold by Intel or 
// its authorized distributors. Please refer to the applicable
// agreement for further details. Intel products and services
// are protected under numerous U.S. and foreign patents, 
// maskwork rights, copyrights and other intellectual property laws.
// Intel assumes no responsibility or liability arising out of the
// application or use of this simulation model.
// ACDS 18.0std
// ALTERA_TIMESTAMP:Wed Apr 25 14:20:29 PDT 2018
// encrypted_file_type : local_encrypted
`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "Model Technology", encrypt_agent_info = "6.6e"
`pragma protect author = "Altera"
`pragma protect data_method = "aes128-cbc"
`pragma protect key_keyowner = "MTI" , key_keyname = "MGC-DVT-MTI" , key_method = "rsa"
`pragma protect key_block encoding = (enctype = "base64", line_length = 64, bytes = 128)
eLwKEZnDSVIxG4PEYxZEH6rr9lBIBCzpi996W6OB2Y6mPaKsx6jh/489IaFLgQXV
yGAkT3VGjY/3VaidVgmDbxEfp0y0ssn9RT6C5pYSy7LO7Sn605E0gwWaXpkvJauo
uDSxVPI/Vqi/DsFvawJ7XurLagtDmD/TvZZBaSTq42s=
`pragma protect data_block encoding = (enctype = "base64", line_length = 64, bytes = 7296)
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
`pragma protect end_protected
