`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
oNs3SgAtuPpzhAp+kruQqHGukQcKIahLMXP89wTv+m6u4fclfiFZRNNl1aNI5Xwi
W2eNKt4N2anWlRRd0aWNUdXoQW7XAQMyledPbFcD87drnbeg6w1TuGsxte2RCZh5
6yW7lrokop/aILELqDPro2ZLkhC4kWzb0MJoyk5AIUE=
`pragma protect encoding = (enctype = "base64", line_length = 64, bytes = 7584), data_block
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
`pragma protect end_protected
