`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
bUYQQKNGkxrcD3i9mZemlD/e7DYNAywYcXpnJ/CLqgEgqg1PDqEzzM7VK/owqkqI
yRn7VmXSnytOZKFe9SgqcXRrUu29C+Ktc6ZctUsK6ouu4AQWtIU1zt17YZ4WlLWe
hXUvgj/FUs+OWddCTkZjPeKYVfbUgSo4ko49+t3mE7g=
`pragma protect encoding = (enctype = "base64", line_length = 64, bytes = 7104), data_block
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
`pragma protect end_protected
