‘(a) Notwithstanding any provision of the law of any State or political subdivision thereof, a person who is not prohibited by Federal law from possessing, transporting, shipping, or receiving a firearm and is carrying a valid license or permit which is issued by a State and which permits the person to carry a concealed firearm (other than a machinegun or destructive device) may carry in another State a concealed firearm (other than a machinegun or destructive device) that has been shipped or transported in interstate or foreign commerce, subject to subsection (b).
‘(b)(1) If such other State issues licenses or permits to carry concealed firearms, the person may carry a concealed firearm in the State
under the same restrictions which apply to the carrying of a concealed firearm by a person to whom the State has issued such a license or permit.
‘(2) If such other State does not issue licenses or permits to carry concealed firearms, the person may not, in the State, carry a concealed firearm in a police station, in a public detention facility, in a courthouse, in a public polling place, at a meeting of a State, county, or municipal governing body, in a school, at a professional or school athletic event not related to firearms, in a portion of an establishment licensed by the State to dispense alcoholic beverages for consumption on the premises, or inside the sterile or passenger area of an airport, except to the extent expressly permitted by State law.’.