`pragma protect begin_protected
`pragma protect version = 1
`pragma protect encrypt_agent = "Model Technology", encrypt_agent_info = "10.4d"
`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 encoding = (enctype = "base64", line_length = 64, bytes = 128), key_block
iCMEZdvmAeLPlx/YUkFOtUK0qHIQqQKhMJSzCxeicOLxdafSxj1/EIbMxd5z80Hn
DYutCPGUa24YdRH1Nmg3wgY1DGspNDI2z3M9G4ohh/7xRyMjt7x5TfsPL76tNPzK
duBqQG9IBcZlq+qZ4GloKfaSSo2P6E4TQarOxiYkwS8=
`pragma protect encoding = (enctype = "base64", line_length = 64, bytes = 6336), data_block
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
`pragma protect end_protected
